解题思路:
用递归,思路就像线性筛素数
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:547 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:721 |
【偶数求和】 (C语言代码)浏览:569 |
Hello, world! (C语言代码)浏览:850 |
格式化数据输出 (C语言代码)浏览:828 |
整除问题 (C语言代码)浏览:535 |
最好的,浏览:576 |
母牛的故事 (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:782 |
小O的乘积 (C++代码)浏览:767 |