| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 746 人关注过本帖
标题:判断素数时始终无法排除1或者2?
取消只看楼主 加入收藏
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:1 
判断素数时始终无法排除1或者2?
我写的程序如下:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int n,i;
    double k;
    printf("Enter正整数n:");
    scanf("%d",&n);
    k=sqrt(n);
    for(i=2;i<=k;i++)
        if(n%i==0) break;
    if(i>k)
        printf("%d是素数\n",n);
    else printf("%d不是素数\n",n);
    return 0;
}
这个程序无法排除1,运行时输入1,结果为:1是素数。我把语句修改为k=sqrt(n+1);可以排除1了,但是却无法排除2,结果为:2不是素数。请问我如何修改?
搜索更多相关主题的帖子: 判断 排除 
2010-01-16 14:45
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
收藏
得分:0 
回复 2楼 广陵绝唱
我试着用if语句先排除1,可是程序修改后就只能判断1了。
请问一下具体应该怎么修改?
2010-01-16 15:24
快速回复:判断素数时始终无法排除1或者2?
数据加载中...
 
   



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

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