若正整数A恰好出现在其平方数的右侧,则称A为一个同构数。如:5,6,76。求100以内的所有同构数。要求:程序文件名为isomorph.c(1)编写一子函数int fun(int n),判断给定正整数n是不是同构数,若是,返回1,否则,返回0。(2)编写主函数,调用函数fun(),寻找并输出100以内的所有同构数。(3)在输出同构数的同时,要输出其平方的值。 输出示例:1 15 256 3625 62576 5776
1 回答
留得枯荷听雨声lyx
TA贡献51条经验 获得超16个赞
#include<stdio.h>
int fun(int n){
int nn =n*n;
int a=nn%10; //因为100以内的数如果是同构数的话,要么是平方的右一位或者右二位
int b=nn%100;
if(a==n||b==n){
return 1;
}
else
return 0;
}
int main(){
for(int i=1;i<100;i++){
if(fun(i)){
printf("%d %d\n",i,i*i);
}
}
}- 1 回答
- 0 关注
- 2155 浏览
添加回答
举报
0/150
提交
取消
