C语言编程100以内所有的同构数

C语言编程100以内所有的同构数。所谓“同构数”,是这样一种数,它出现在它的平方数的右端。如52=25,5是25中右端的数,所以5是同构数;25也是同构数,因为252=625

#include<iostream.h>
#include<iomanip.h>
int main ()
{
int i,j,m,n,x,y,z,k,a;
for(i=1;i<=9;i++)//判断1-9之间同构数
{
m=i*i;
n=m-i;
if(n%10==0)
cout<<setw(4)<<i;
}
for(j=10;j<=99;j++)//判断10-99之间同构数
{
x=j*j;
y=x-j;
z=y/10;
if((y%10==0)&&(z%10==0))
cout<<setw(4)<<j;
}
for(k=100;k<=100;k++)//判断100是否为同构数
{
x=j*j;
y=x-j;
z=y/10;
a=y/100;
if((y%10==0)&&(z%10==0)&&(a%10==0))
cout<<setw(4)<<k;
}
cout<<endl;
return 0;
}
这个算法麻烦点,比较直观!
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-05
#include<stdio.h>
main()
{
int i;
for(i=1;i<=100;i++)
if(i*i%10==i)
printf("%d",i);
}
作业最好自己做.本回答被提问者采纳
第2个回答  2019-08-13
#include<stdio.h>
#include<stdio.h>
void main()
{
int i,s;
for(i=1;i<10;i++){
if(i*i%10==i)
printf("%d\n",i);}

for(i=10;i<=99;i++){
s=(i*i/100)*100;
if((i*i-s)==i)
printf("%d\n",i);}

for(i=100;i<=100;i++){
if((i*i/100)==i)
printf("%d\n",i);}
}
第3个回答  2006-02-04
不至于吧,作业也拿出来让另人作?
相似回答