| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:关于可逆素数的问题
只看楼主 加入收藏
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
结帖率:90.24%
收藏
 问题点数:0 回复次数:3 
关于可逆素数的问题
可逆素数是指将一个素数的各位数字的顺序倒过来构成的反序数仍然是素数,按以上叙述求所有的四位素数。

#include <stdio.h>
#include <math.h>
int ss(int n)//判断一个数是否为素数
{
    int j;
    if(n<=1)
        return 0;
    if(n==2)
        return 1;//是素数则返回1
    for(j=2;j<=n;j++)//若是把这里的j<=sqrt(n)的话
        if(n%j==0)
            return 0;
        else if(j!=n-1)//这里换成(j!=sqrt(n)-1),则会出错,不知道错在哪里
                continue;
        else
            return 1;
}
int main(void)
{
    int i,a,b,c,d,n;
    for(i=1000;i<=9999;i++)
        if(ss(i)==1)
        {
            a=i/1000;
            b=i%1000/100;
            c=i%1000%100/10;
            d=i%1000%100%10;
            if(ss(1000*d+100*c+10*b+a)==1&&(1000*d+100*c+10*b+a)>i)
            {
                printf("%d ",i);
                n++;
                if(n%5==0)
                    putchar('\n');
            }
        }
}
请各路朋友帮忙
搜索更多相关主题的帖子: continue include return 
2015-05-03 20:53
Topsail
Rank: 2
等 级:论坛游民
帖 子:18
专家分:13
注 册:2015-4-21
收藏
得分:0 
编译后会出现“not all control paths return a value”,说明还需要一个return 1在int ss函数最后。还有(1000*d+100*c+10*b+a)>i这个条件有什么用呢?这样会少掉一些素数,例如1009,那9001也应该是素数。
2015-05-03 22:02
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:0 
#include <stdio.h>
#include <math.h>
int ss(int n)//判断一个数是否为素数
{
    int j;
    if(n<=1)
        return 0;
    if(n==2)
        return 1;//是素数则返回1
    for(j=2;j<n;j++)//j<=n是错误的
        if(n%j==0)
            return 0;
    return 1;
}
int main(void)
{
    int i,a,b,c,d,n;
    for(i=1000;i<=9999;i++)
        if(ss(i)==1)
        {
            a=i/1000%10;
            b=i/100%10;
            c=i/10%10;
            d=i%10;
            if(ss(1000*d+100*c+10*b+a)==1)
            {
                printf("%d ",i);
                n++;
                if(n%5==0)
                    putchar('\n');
            }
        }
}
2015-05-04 01:31
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
收藏
得分:0 
我知道了,但是如果改成j<sqrt(n),为什么结果不对,能帮我分析一下吗
2015-05-04 17:50
快速回复:关于可逆素数的问题
数据加载中...
 
   



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

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