hdu 1128 Self Numbers
添加时间:2013-5-9 点击量:
题意就是输出1000000这个局限内的数字,这个数不存在一个数和他的俩位数相加便是它本身。例如3不存在。但4就便是2+2, 10便是5+5, 11便是10+1+0, 12便是6+6;就是这个意思了。但9就不存在这么一个数。
View Code
#include <iostream>
using namespace std;
const int N = 1000001; //存放相加后的数字
bool str[1000010];
void fac(int n)
{
int sum = n;
while(n)
{
sum+=n%10;
n/=10;
}
str[sum] = 1;
}
int main()
{
int i, j;
for(i = 1; i < N; i++)
{
fac(i);
}
for(j = 1; j < N; j++)
{
if(!str[j]) //若是不存在这个数,就输出。
printf(%d\n,j);
}
return 0;
}
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
题意就是输出1000000这个局限内的数字,这个数不存在一个数和他的俩位数相加便是它本身。例如3不存在。但4就便是2+2, 10便是5+5, 11便是10+1+0, 12便是6+6;就是这个意思了。但9就不存在这么一个数。
View Code
#include <iostream>
using namespace std;
const int N = 1000001; //存放相加后的数字
bool str[1000010];
void fac(int n)
{
int sum = n;
while(n)
{
sum+=n%10;
n/=10;
}
str[sum] = 1;
}
int main()
{
int i, j;
for(i = 1; i < N; i++)
{
fac(i);
}
for(j = 1; j < N; j++)
{
if(!str[j]) //若是不存在这个数,就输出。
printf(%d\n,j);
}
return 0;
}