编写一个程序,输入一个小于100的正整数x,判断它是否是同构数。若是同构数,输出结果“Yes”,若不是则输出“No”。所谓的同构数是指这样的数,它出现在它的平方数的右边。
#include <iostream>
using namespace std;
int main() {
int x, y;
bool flag = false;
cin >> x;
y = x * x;
for (int i = 1; i <= x; i *= 10) {
if (x == y % i) {
flag = true;
break;
}
}
if (flag) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
供参考:
#include <stdio.h>
int main()
{
int x, t, s;
scanf("%d", &x);
t = x; s = 1;
while (t) { s *= 10; t /= 10; }
if ((x * x) % s == x)
printf("Yes");
else
printf("No");
return 0;
}