| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:关于素数判定,请教各位
只看楼主 加入收藏
xiaoliang_sh
Rank: 2
等 级:论坛游民
帖 子:18
专家分:11
注 册:2010-7-16
结帖率:66.67%
收藏
 问题点数:0 回复次数:1 
关于素数判定,请教各位
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
    int a=0,i=0;
    scanf("%d",&a);
    if(a%2==0&&a!=2){
      printf("NO");
      system("pause");
      return 0;
      }
    for(i=2;i<sqrt(a)+0.5;i=i+1)/*这行中把判断循环条件的0.5去掉,onlinejudge只能打90,有一个情况显示wronganswer*/
      if(a%i==0)
      {
      printf("NO");
      system("pause");
      return 0;
      }
    printf("YES");
    system("pause");
    return 0;
}
我觉得是不是浮点数精度问题,请大家看看,帮忙指点迷津
搜索更多相关主题的帖子: 素数 
2010-07-25 17:23
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:0 
把for(i=2;i<sqrt(a)+0.5;i=i+1)改成for(i=2;i<=sqrt(a);i=i+1),可以用9和25来验证一下
2010-08-23 21:20
快速回复:关于素数判定,请教各位
数据加载中...
 
   



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

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