回复 9楼 风雨123
![](images/smilies/emot/em17.gif)
不过 还有一点的可以改进的地方 就是取余的基数 可以用一个参数传给函数 在x累加后位数多了一位时 将这个基数*10
而不需要每次都从10 100 1000 等一个一个判断 这个在x y 位数特别多时 会很有效
下面是我写的代码 不知道对你有没有帮助
![](zzz/editor/img/code.gif)
#include <iostream> using namespace std; bool is_tgnum(int num, int base) { return (num*num)%base == num; } int main() { int x, y, sum = 0; cin >> x >> y; for(int num(x), base(10); num <= y; num++){ while(num/base) base *= 10; if(is_tgnum(num, base)) sum += num; } cout << "The sum is " << sum << " ." << endl; }
![](/skin/img/sigline.gif)
人生是一场错过 愿你别蹉跎