数学的世界有很多很漂亮的数字或者数字集合,比如梅森数,哥德巴赫猜想,水仙花数,完全数,自守数。今天我们就一起来探究一下自守数。自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数
第一行输入n,随后输入n个数m。
在一行中输出m以内自守数的个数,所有输出在一行内完成,末尾没有多余空格。
5 1 2 3 4 5
2 2 2 2 3
#include <iostream> #include <string> #include<vector> using namespace std; int main() { vector<int>a; int N; long n; cin >> N; for (int i = 0; i <N; i++) { cin >> n; int ans = 2; for (long i = 3; i <= n; i++) { if ((i % 10 == 1) || (i % 10 == 5) || (i % 10 == 6)) { long n2 = i * i; string s1 = to_string(i); string s2 = to_string(n2); int pos = s2.size() - s1.size(); if (s2.find(s1, pos) != -1) ans++; } } a.push_back(ans); } for (int i = 0; i < a.size(); i++) { if (i!=a.size()-1) { printf("%d ", a[i]); } else { printf("%d", a[i]); } } return 0; }
原文:https://www.cnblogs.com/luoyoooo/p/12215737.html