题目链接:http://poj.org/problem?id=1316
解释下题意,如果一个数可以写成另一个数及其个个位数的和,那么就不符合条件,比如39可以写成33+3+3那么不符合条件,要求输出所有符合条件的10000以内的数!
简单枚举,没什么算法,直接上代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std;
int main() { int a,b,c,d,n[10100]={0}; for (int i = 1; i < 10000; i++) { if(n[i]==0) printf("%dn",i); a=i/1000; b=i%1000/100; c=i%100/10; d=i%10; n[i+a+b+c+d]=1; }
}
|