POJ 1316 Self Numbers C++版

题目链接: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
/***************************************
Problem: 1316 User: awq123
Memory: 196K Time: 0MS
Language: C++ Result: Accepted
***************************************/
#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;
}

}