#include <cstdio>
#include <iostream>
#include <cmath>
#include <queue>
using namespace std;
int main() {
int n;
while (scanf("%d",&n)!=EOF) {
int sq=pow(n,2);
int n1=n;
int digit=0;
while(n1!=0)
{
digit++;
n1/=10;
}
int sq1=pow(10,digit);
if(n==sq%sq1)
{
printf("Yes!");
}
else{
printf("No!");
}
}
}
设输入的数为n,循环整除10获得n的位数digit,再用(n^2)%(10^digit)与n比较。

京公网安备 11010502036488号