解题思路:
用递归,思路就像线性筛素数
注意事项:
参考代码:
#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 人评分
素数判断模板题(题解中的函数能用来判断大数是不是素数)浏览:847 |
【绝对值排序】 (C语言代码)浏览:482 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:710 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:1207 |
钟神赛车 (C语言代码)浏览:880 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:638 |
小明A+B (C语言代码)浏览:1256 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:675 |