| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1275 人关注过本帖
标题:找素数的个数,我是少考虑了什么情况吗?结果显示 答案错误 75%
只看楼主 加入收藏
北国123456
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2016-10-6
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:7 
找素数的个数,我是少考虑了什么情况吗?结果显示 答案错误 75%
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


谢谢!
2017-01-04 22:48
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:7 
1不是素数,所以如果输入n为1时,素数的个数会多数了一个。(应该是这个)
2017-01-04 22:56
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:7 
也可以这样~

程序代码:
#include<stdio.h>
#include<math.h>
int fun(int m,int n)
{
    int i=0;
    int j=0;
    int num=0;
    for (i=m;i<n;i++)
    {
        int flag=0;
        for (j=2;j<=(int)sqrt(i);j++)
            if (i%j==0)
            {
                flag=1;
                break;
            }

            if (flag==0&&i!=1)
                num++;
    }

    return num;
}
int main()
{
    int m=0;
    int n=0;
    scanf("%d%d",&m,&n);

    printf("%d\n",fun(m,n));

    return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-04 23:21
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:7 
差不多就这样了,但似乎我做了多余的事.

#include <stdio.h>
int sushu(int n, int m);
int main(void)
{
    int a, b;
    while (scanf("%d%d", &a, &b) == 2)
    {
        if (a > b || a <= 0)
        {
            printf("错误的输入。\n");
            continue;
        }
        printf("%d到%d之间有%d个素数.\n", a, b, sushu(a, b));
    }   
}

int sushu(int n, int m)
{
    int i, j, k;
    k = 0;
    if (n == 1);
        n = n + 1;            
    for (; n<m; n++)
    {
        for (i = 2, j = 0; i*i<n; i++)
        {
            if (n%i == 0)
            {
                j = 1;
                break;
            }
        }
        if (j == 0&&i*i>n)        
            k++;                    
    }
    return k;
}

[此贴子已经被作者于2017-1-5 06:58编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-05 06:16
北国123456
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2016-10-6
收藏
得分:0 
回复 2楼 ClearningC
题目显示的测试数据有一组是 1 20 输出的答案是9,所以我猜测1应该也是被算进去了
2017-01-05 11:26
北国123456
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2016-10-6
收藏
得分:0 
回复 3楼 九转星河
我把你的代码提交了一遍  显示答案错误 25%  是哪里错了吗
2017-01-05 11:33
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 北国123456
我没有细测~~~~仔细推敲一下应该能发现问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-05 11:59
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
//for (i=m;i<=n;i++)

要加个=号~~~~~~~~~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-05 12:07
快速回复:找素数的个数,我是少考虑了什么情况吗?结果显示 答案错误 75%
数据加载中...
 
   



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

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