キーボードから1000未満の自然数を入力して、それが自家数であるかどうかを判断します。自家数は、数の2乗のマンティッサがそれ自体の自然数と等しいことを意味します。たとえば、25 * 25 = 625
が定義されています。10、100 、または1000で割った数の二乗の残りの部分は、自家数そのものです。
コードは次のとおりです。
#include <stdio.h>
void main(){
int num = 0,div=0;
printf("请输入自然数\n");
scanf("%d",&num);
if(num<10){
div = 10;
}else if(num < 100){
div = 100;
}else{
div =1000;
}
if(num * num % div == num){
printf("%d 是自守数\n",num);
}else{
printf("%d 不是自守数\n",num);
}
}