判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如 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);
- A. 如果
Flag在循环中不被改为false,则说明该数是自守数 - B. 代码
if (N1 % 10 != M1 % 10)用于判断其个位数是否相等,如果不等,则表明不是自守数 - C. 代码
N1 = N1 / 10, M1 = M1 / 10将个位数去掉 - D. 将
N1 > 0改为N > 0效果相同