LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 876|回复: 5

请看看我的弱程序

[复制链接]
发表于 2003-12-12 11:33:39 | 显示全部楼层 |阅读模式
/*这个程序在VC里通过,但是用GCC 就通不过,为什么呢?*/
#include<stdio.h>
#include<math.h>
int sushu(int m)//判断M是否为素数,只有当M为素数时才返回M
{   int t=0;
        for(int i=2;i<=sqrt(m/2);i++)
        if(m%i==0)
                {
                        t=1;
                        break;
                }//不是素数,跳出FOR循环
              if(t==1)
                  return 0;        //若不为素数,返回0
             return m;
}//若为素数,返回这个数
int nisushu(int m)//求素数M的逆??如123456变为165432
{
        int n=m%100000;//N为后5位
        int sum=0,t=10000;
        for(int i=1;i<6;i++)//将N求逆:如23456-》65432
        {
                sum=sum+n%10*t;
                        n=n/10;
                        t=t/10;

        }
        sum=sum+(m/100000)*100000;//求得165432
        return sum;
}
main()
{

        int i;
        int n,m;
        m=100001;
    while(m<=999999)//M为六位数
        {
                i=1;
                n=m;
                while(1)//如果M和M的逆都为素数;
                {
                        if(sushu(m)!=m||sushu(nisushu(m))!=nisushu(m))
                                break;
                        m=m%100000*10+m/100000;
                     i++;
                }//123456->234561

        if(i==7)
                printf("这个数为:%d\n",n);
        m+=2;
        }//当I为7时,说明这六次循环sushu(m)==m&&sushu(nisushu(m))==nisushu(m)都为真
}
发表于 2003-12-12 13:08:06 | 显示全部楼层
你是说编译通不过吗?
我这里可以.
dev-cpp(gcc 3.2)
发表于 2003-12-12 13:10:31 | 显示全部楼层
格式太差,看着头痛!

加上code代码撒.
发表于 2003-12-12 15:15:08 | 显示全部楼层
any error information?
发表于 2003-12-12 20:58:39 | 显示全部楼层
是不是编译的时候没加 -lm
发表于 2003-12-12 21:59:42 | 显示全部楼层
maybe
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表