解题思路:
用递归,思路就像线性筛素数
注意事项:
参考代码:
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #define N 100000 using namespace std; bool vis[N + 2]; int getDSum(int n) { int bak = n; int sum = 0; while (n) { sum += n % 10; n /= 10; } return sum += bak; } void d(int cur, const int max) { if (cur > max) return; else { int n = getDSum(cur); if (!vis[n]) { vis[n] = true; d(n, max); } return; } } int main(int argc, char** argv) { int n = 0, maxN = 0; cin >> n; for (int i = 1; i < n; i++) d(i, n); for (int i = 1; i < n; i++) if (!vis[i]) cout << i << endl; return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.2 (Java代码)浏览:2287 |
A+B for Input-Output Practice (IV) (C++代码)浏览:713 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:691 |
剪刀石头布 (C++代码)浏览:1811 |
简单的a+b (C语言代码)浏览:443 |
A+B for Input-Output Practice (IV) (C++代码)浏览:543 |
数字整除 (C语言代码)浏览:501 |
WU-C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1568 |
P1021 (C语言代码)浏览:476 |
Manchester- IP判断(逐级排除法)浏览:3937 |