nyoj766 回文数

回文数

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 0
描述
请寻找并输出1至1000000之间的数m,它满足m、m^2和m^3均为回文数。回文数大家都知道吧,就是各位数字左右对称的整数,例如121、676、123321等。满足上述条件的数如m=11,m^2=121,m^3=1331皆为回文数。
输入
没有输入
输出
输出1至1000000之间满足要求的全部回文数,每两个数之间用空格隔开,每行输出五个数
样例输入
 
    
样例输出
 
    
来源
计算机三级
上传者
TC_赵坤垚

数据类型对应的范围

unsigned   int   0~4294967295  
int   2147483648~2147483647
unsigned long 0~4294967295
long   2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

这道题  1000000 三次方 long long

#include<stdio.h>
bool is_ok(long long  x)
{
	long long y=0;
	long long temp=x;
	while(x)
	{
		y=y*10+x%10;
		x=x/10;
	}
	return temp==y;
}
int main()
{
	int count=0;
	for(long long i=1;i<=1000000;i++)
	{
		if(is_ok(i)&&is_ok(i*i)&&is_ok(i*i*i))	
		{
			count++;
			printf("%lld ",i);
		}
		if(count==5)
		printf("\n"),count=0;
	}
	printf("\n");
	return 0;
} 



你可能感兴趣的:(nyoj,nyoj766,766)