标题:编程,输出1~5000之间的所有同构数,同构数就是它的平方数的右边是它自身, ...
取消只看楼主
a1602388940
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-9
结帖率:50%
已结贴  问题点数:20 回复次数:4 
编程,输出1~5000之间的所有同构数,同构数就是它的平方数的右边是它自身,例如:5,6,25都是同构数,因为5*5的右边是5,6*6的右边是6,25*25的右
#include <stdio.h>
void main()
{
    int i;
    for (i=1,i<=5000,i++)
        if (i < 10)
            if (i*i%10 == i)
                printf("%d\n",i);
        else if (10 <= i < 100)
            if ((i*i-i)%100 == 0)
                printf("%d\n",i);
        else if (100 <= i <1000)
            if ((i*i - i)%1000 == 0)
                printf("%d\n",i);
        else if (1000 <= i <= 5000)
            if ((i*i - i)%10000 == 0)
                printf("%d\n",i);   
}
这是俺写的一个
报错
C:\Windows\System32\1.c(5) : error C2143: syntax error : missing ';' before ')'
C:\Windows\System32\1.c(5) : error C2143: syntax error : missing ';' before ')'
Error executing cl.exe.
大佬们有何高见
搜索更多相关主题的帖子: 平方 输出 编程 if printf 
2020-03-26 20:29
a1602388940
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-9
得分:0 
回复 3楼 lin5161678
确实鹅鹅鹅饿鹅鹅鹅鹅鹅鹅 咋判断嘞
2020-03-26 20:43
a1602388940
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-9
得分:0 
回复 2楼 lin5161678
OKOK
2020-03-26 20:43
a1602388940
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-9
得分:0 
回复 3楼 lin5161678
#include<stdio.h>
main()
{
 int i,d;
 for (i=2;i<=5000;i++)
 {
  d=i*i-i;
  if(i<10&&d%10==0)  
   printf("%d\n",i);
  if(i<100&&d%100==0)
     printf("%d\n",i);
  if(i<1000&&d%1000==0)
        printf("%d\n",i);
  if(1000<i<5000&&d%10000==0)
        printf("%d\n",i);

 }
}


这样可以了 但为啥输出了两个625
2020-03-26 21:11
a1602388940
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-9
得分:0 
回复 8楼 return_0
但为啥我第一个不可以嘞
而且第二个只是输出了两个625 其余的并没有重复
2020-03-26 21:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500622-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.651176 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved