c语言同构数判断程序,c语言程序计算1~500之间的全部“同构数”之和。

满意答案

#include"stdio.h"

void main()

{

int n,he=0,a=0;

double pingfang;

for(n=4;n<10;n++)

{

pingfang=n*n;

if((pingfang-n)%10==0) /*如果这个数是个位数,那么如果它的平方数减去它之后能够被10整除,就是同构数,比如6,平方是36,减去6后是30,除以10结果为3。而按照你的说法想要是同构数,那么至少这个数的平方要大于10,所以从4开始*/

{

printf("%5d",n);

he+=n;

a++; /*计数器,控制每行输出5个同构数*/

if(a%5==0)

printf("\n");

}

}

for(n=10;n<100;n++)

{

pingfang=n*n;

if((pingfang-n)/100==0) /*同理,如果是同构数,那么它的平方减去本身除以100也能被整除,因为平方数小于一百的部分已经完全被减去了*/

{

printf("%5d",n);

he+=n;

a++;

if(a%5==0)

printf("\n");

}

}

for(n=100;n<=500;n++)

{

pingfang=n*n;

if((pingfang-n)/1000==0) /*同理,如果是同构数,就能被1000整除*/

{

printf("%5d",n);

he+=n;

a++;

if(a%5==0)

printf("\n");

}

}

printf("1到500之间所有的同构数之和为:%5d\n",he);

}

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值