| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1666 人关注过本帖
标题:新手请教一道题目,帮忙看一下吧大家,谢谢了
只看楼主 加入收藏
wzhe800
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-9-26
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:5 
新手请教一道题目,帮忙看一下吧大家,谢谢了
1007. 素数对猜想 (20)

让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。

输入格式:每个测试输入包含1个测试用例,给出正整数N。

输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。

输入样例:
20
输出样例:
4



自己打的程序如下:
#include<stdio.h>
int yzss(int i){       //验证是否为素数
    int j,chuzhi=i;
    for(j=2;j<i;j++){
        while(i>j){
            i=i-j;}
        if(i==0) return 0;
        if(i>0) i=chuzhi;
    }   
    return 1;
}
int main(){
    int N,jg,p1,p2,dn,count=0;       //jg用来返回,P1 P2是相邻两素数,count是dn为2的个数
    scanf("%d",&N);
    for(int i=1;i<=N;i++){
        jg=yzss(i);
    if(jg==1){
        p2=i;
        dn=p2-p1;
        p1=i;
        if(dn==2) count++;   
        }        //if
    }            //for
    printf("%d",count);
    return 0;
}


调试了一下发现是不行的。。可我自己在纸上模拟了一下,觉得应该是没有问题的啊。。
我注释一下。大家帮帮忙。。看一下我哪里错了。谢谢了
搜索更多相关主题的帖子: 正整数 include 
2016-01-28 21:29
拉链
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:534
注 册:2016-1-22
收藏
得分:10 
你素数判断函数写错了,做如下修改即可:
int yzss(int i){       //验证是否为素数
    int j,chuzhi=i;
    for(j=2;j<i;j++){
        while(i>=j){
            i=i-j;}
        if(i==0) return 0;
        i=chuzhi;
.
.
.
2016-01-28 22:04
wzhe800
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-9-26
收藏
得分:0 
回复 2楼 拉链
谢谢!!
2016-01-28 22:29
wzhe800
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-9-26
收藏
得分:0 
回复 2楼 拉链
但是我试了一下。。还是不行哦。 问题好像不是出在这里。。。
2016-01-28 22:32
wzhe800
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-9-26
收藏
得分:0 
回复 4楼 wzhe800
我错了!是对的!谢谢谢谢
2016-01-28 22:33
拉链
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:534
注 册:2016-1-22
收藏
得分:0 
代码可以再简化的,我看到有人仅用3行代码完成素数判断。
2016-01-28 22:42
快速回复:新手请教一道题目,帮忙看一下吧大家,谢谢了
数据加载中...
 
   



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

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