U29433.智慧数

普及-

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

Card\tt{\color{ffffff}{---Card---}}
一个自然数若能表示为两个完全平方数之差,则称其为“智慧数”。
44 是智慧数,因为 40=44-0=41919810119198101 也是智慧数,因为 13021272251282929124=191981011302127225-1282929124=19198101.

给定一个正整数 nn,求 [1,n][1,n] 区间内所有不是智慧数的数.

输入格式

一个正整数 nn.

输出格式

第一行一个正整数,表示 [1,n][1,n] 中不是智慧数的数的个数.
第二行写出所有 [1,n][1,n] 区间内所有不是智慧数的数.

输入输出样例

  • 输入#1

    9

    输出#1

    2
    2 6 

说明/提示

对于 10.2%10.2\% 的测试点,1n1031\le n\le10^3.
对于 100%100\% 的测试点,1n1061\le n\le10^6.
别问这么多测试点怎么存的,用checker.cpp直接省掉输出(

样例#1解释

1=10,3=41,4=40,5=94,7=169,8=91,9=901=1-0,3=4-1,4=4-0,5=9-4,7=16-9,8=9-1,9=9-0.

提示:可以先暴力枚举,然后找规律.

首页