|
发表于 2016-8-31 18:23:48
|
显示全部楼层
608720个吧
跑了我好久的说
- #include <myLib/myLib.h>
-
- //判断是否为可反数
- bool isz(int z)
- {
- char buf[10]={0};
- char b[10]={0},c[10]={0};
- itoa(z,buf,10);
- int len = strlen(buf);
- memcpy(b,buf,len);
- memcpy(c,buf,len);
- ;//c是反过来的数 b是没反的
- reverse(c,c+len);
- if(c[0]=='0') return false;
-
- //2个数字的和
- int value = atoi(b) + atoi(c);
- while (value)
- {
- if((value%10)%2==0)
- return false;
- value/=10;
- }
- return true;///*******************
- }
- int main()
- {
- int m = 0;
-
- //10亿 干 2^31 = 2147483648
- //10Y = 1000000000
- for (int z = 1;z<=1000000000;z++)
- {
- if(isz(z))
- {
- m++;
- //std::cout<<z<<endl;
- }
- }
- std::cout<<m;
- return 0;
- }
复制代码 |
|