| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1786 人关注过本帖
标题:求互逆素数问题 出错了。不显示结果。
只看楼主 加入收藏
时光隧道wmc
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2016-3-28
结帖率:100%
收藏
已结贴  问题点数:7 回复次数:8 
求互逆素数问题 出错了。不显示结果。
//求互逆素数
main()
{
    int i,a,b,c,d;
    int aa(int i);
    for(i=1000;i<=1000;i++)
    {
        if(aa(i)==1)
        {
            a=i%10;//求个位数
            b=(i%100/10);//求十位数
            c=(i/100)%10;//求百位
            d=i/1000;//求万位数
            if(aa(1000*a+100*b+10*c+d)==(1&&1000*a+100*b+10*c+d>i))
            {
                printf("%5d",i);
            }
        }
    }

}
int aa(int i)//判断是否为素数
{
    int j,n;
    n=sqrt((double)i);
    for(j=2;j<n;j++)
    {
        if(i%j==0)
            break ;
        if(i>j)
            return i;
    }
}
搜索更多相关主题的帖子: double 
2016-05-06 07:26
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:3 
大哥,你自己算算,看看传参进去之后怎样了

好好学习,天天向上!
2016-05-06 07:56
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <stdbool.h>

bool isPrime(int n)
{
    int i=2;
    for(;i<=n/2;++i)
    {
        if(n%i==0)  return false;
    }

    return true;
}

//n<10000
int ReverNum(int n)
{
    int a,b,c,d;

    d=n%10;
    c=(n/10)%10;
    b=(n/100)%10;
    a=n/1000;

    int rn=d*1000+c*100+b*10+a;
    return rn;
}

int main()
{
    int i=11,j;

    for(;i<=9999;i+=2)
    {
        j=ReverNum(i);

        if(isPrime(i)&&isPrime(j))
        {
            printf("%d  %d\n",i,j);
        }
    }
    return 0;
}

   唯实惟新 至诚致志
2016-05-06 08:48
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:3 
程序代码:
#include<stdio.h>
#include<math.h>

bool _IsPrimer(int n)
{
    for (int i=2; i<=sqrt(n); i++)
    {
        if (n%i == 0)
        {
            return false;
        }
    }
    return true;
}


int _Inverse(int n)  
{
    int m=0, a;
    
    while (n > 0)
    {
        a = n % 10;
        m = m * 10 + a;
        n = n / 10;
    }
    
    return m;
}


main()
{
    for (int bd=10; bd<=10000; bd++)
    {
        int db = _Inverse(bd);
        if (_IsPrimer(bd) && _IsPrimer(db))
        {
            printf("%d, %d\n", bd, db);
        }
    }
}
2016-05-06 09:12
时光隧道wmc
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2016-3-28
收藏
得分:0 
回复 2楼 未来大仙
主要是看不了啊,单步调试,出一些看不懂的代码。
2016-05-06 09:34
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
如果不会调试的话,可以自己模拟一遍,一条条代码过一遍。

好好学习,天天向上!
2016-05-06 09:57
时光隧道wmc
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2016-3-28
收藏
得分:0 
回复 4楼 吹水佬
你好,能加一下好友吗?
2016-05-06 21:15
a120750
Rank: 4
等 级:业余侠客
威 望:1
帖 子:63
专家分:243
注 册:2016-3-13
收藏
得分:0 
第一个if调用了aa函数,,返回的值是i。那么你用if判断他是否等于1.那明显是不可能的。所以当然也不会有显示啦。
2016-05-06 21:28
叶子1030
Rank: 2
来 自:西安
等 级:论坛游民
帖 子:12
专家分:14
注 册:2016-4-19
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int prime(int m);
int prime(int m)

{
    int i;

    for(i=2;i*i<m;i++)
    {
        if(m%i==0)
        {
        
        return 0;
        }
    }
   
    return 1;
 }
 int main()
 {
        
     int x=0;
    int y=0;
     int a=0;
     int b=0;
     int c=0;
     int d=0;
     printf("请输入要检测的四位整数:\n");
     scanf("%d",&x);
     
     a=x/1000;
     b=x/100%10;
     c=x/10%10;
     d=x%10;
     y=d*1000+c*100+b*10+a;
      printf("%d",y);
     
    if(prime(x)&&prime(y))
     {
     printf("是可逆素数。\n");
         
    }
     else printf("不是可逆素数。\n");
     
   
      system("pause");
     return 0;
 }
 
2016-05-09 15:49
快速回复:求互逆素数问题 出错了。不显示结果。
数据加载中...
 
   



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

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