判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如25的平方是625,其尾数是25,所以25是自守数。相关说法错误的是( )。
int N, N1, M1;
cout << "输入一个正整数:";
cin >> N;
N1 = N, M1 = N * N;
bool Flag = true;
while (N1 > 0){
if (N1 % 10 != M1 % 10){
Flag = false;
break;
}
else{
N1 = N1 / 10, M1 = M1 / 10;
}
}
if (Flag == true)
printf("%d的平方是%d,是自守数", N, N * N);
else
printf("%d的平方是%d,不是自守数", N, N * N);
如果Flag在循环中不被改为false,则说明该数是自守数
代码 if (N1 % 10 != M1 % 10) 用于判断其个位数是否相等,如果不等,则表明不是自守数
代码 N1 = N1 / 10, M1 = M1 / 10 将个位数去掉
将 N1 > 0 改为 N > 0 效果相同