永发信息网

如何用c语言求2~1000中的守形数??

答案:4  悬赏:30  手机版
解决时间 2021-03-27 11:00
如何用c语言求2~1000中的守形数??
最佳答案
守形数的概念:
若正整数n是它的平方数的尾部,则称n为守形数,又称同构数。

根据定义,可以得到计算的思路。
1 对于范围内的每个数值,计算其平方;
2 根据原数的位数,截取数值的尾部;
3 将数值的尾部与原数比较,如果相等则为守形数。
遍历需要的范围,即2-1000,逐一判断即可得到所有的守形数。
代码如下
#include 
int main()
{
    int i, r, s=1;
    for(i = 2; i <= 2000; i++)
    {
        r = i*i;//计算平方。
        if(r/(s*10) != 0) s*=10; //获取位数。
        r%=s;//得到尾数。
        if(r == i) printf("%d
", i);//是守形数,输出值,每行一个。
    }
    
    return 0;
}输出结果为
5
6
25
76
376
625
全部回答
#include
#define M 2
#define N 1000
main()
{
int num,count=0,i,j,lenth=0;

printf("从%d到%d之中的守形数有:\n",M,N);
for(i=M;i<=N;i++)
{
num=i;
j=1;

while(num!=0)
{
num=num/10;
lenth++;
}

while(lenth!=0)
{
j=10*j;
lenth--;
}

if((i*i-i)%j==0)
{
printf("%d\t",i);
count++;
}
}

printf("\n共计%d个",count);
}
什么叫守形数追问知道了,谢谢!
#include
#include
int shouxing(){
int i,n,c;
c=0;
printf("守形数有:");
for(i=2;i<1001;i++){
n=pow(i,2);
if(i<10 && n%10 == i){//一位数守形数
printf("%d,",i);
c++;
}
else if(i<100 && n%100==i){//二位数守形数
printf("%d,"i);
c++;
}
else if(i<1000 && n%1000 == i){//三位数守形数
printf("%d,"i);
c++;
}
else{//1000不是守形数
printf("共计%d个",c);
}
}
return 1;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
β-二酮的碳负离子的γ-烃基化反应如何解释
我想请问一下,纲吉是27华人是59山本是80云雀
美人梅最近掉叶子怎么回事
找一本小说,恐怖的
和夜半梳头类似的中国恐怖电影
里面的乎字是什么意思
配合是指什么相同相互结合的孔与轴的公差带间
在老挝可以买到什么泰国好东西
求独栋别墅9宽11米深,两层三层都中,谢谢
找一款鞋子
即是一则成语故事,又是一次和历史故事的成语
跪求《被最想被他拥抱的男人威胁了》 小野友
我想问一下,2012年伦敦奥运会,马龙作为男乒
长沙易虎骗局,是骗子公司吗?
证券对账单里的质押回购拆出和拆出质押回购是
推荐资讯
向隔壁邻居借房住借条如何写
海丝腾的床具能用多长时间?
o.25+x=1方程检验
一条船,母亲怀了双胞胎,但是,在当双胞胎一
单选题下列权利中,属于公民充分享受其他各种
XSX 台下还有18人。(猜一字)
前任的仇人不能搞 圈子就那么小 所以还他妈能
小时候被掐了一下脸脸上的红一直下不去怎么办
为什么香港人不希望人民币升值了?
在眼球在结构中 角膜在巩膜的外层,还是巩膜
云南移动手机卡办理有80元的吗?
这是我花盆里长出来的,不知道是什么植物,上
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?