标题:用c语言实现检验一个数是否是素数的问题.
只看楼主
ltf
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-17
 问题点数:0 回复次数:14 
用c语言实现检验一个数是否是素数的问题.
各位!
    请问哪位大虾能告诉在下检验一个数是否是素数用c语言如何实现吗?
    我自己编的代码好烦好繁的!麻烦了!
搜索更多相关主题的帖子: 素数 c语言 检验 
2008-10-18 15:20
leiyfan
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-4-12
得分:0 
用N去除从2到根号N的数,
2008-10-18 15:32
ltf
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-17
得分:0 
???这样很繁的!我试过了.有没有更简便的1
2008-10-18 15:56
蓝色线段树
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2008-10-18
得分:0 
无论多繁,你先把你自己的代码打出来再说
2008-10-18 17:12
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
mr测试

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-10-18 17:15
larden
Rank: 1
等 级:新手上路
帖 子:19
专家分:7
注 册:2008-8-28
得分:0 
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main(){
    int a,m,i;
   printf("输入一个整数:");
   scanf("%d",&a);
   m=sqrt(a);
   for(i=2;i<=m;i++)
       if(a%i==0) break;
   if(i>m)printf("%d不是一个素数。\n",a);
   else printf("%d是一个素数。\n",a);
   getch();
}
//这个很复杂吗?
收到的鲜花
  • liyanhong2008-10-18 18:14 送鲜花  1朵  
2008-10-18 18:10
初C
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-10-18
得分:0 
main()
{
    int i,n;
    printf("n:");
    scanf("%d",&n);
    if(n==1) printf("%d不是素数\n",n);
    else
    {
        for(i=2;i<=n;i++)
        if(n%i==0) break;
        if(n==i) printf("%d是素数\n",n);
        else printf("%d不是素数\n",n);
    }
    getch();
}
这个是我随便弄的,大家看看。
2008-10-18 18:21
个人爱好
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-9-27
得分:0 
朋友你搞反了吧!
应该是这样吧:
if(i>m)printf("%d是一个素数。\n",a);
   else printf("%d不是一个素数。\n",a);

好像没什么简单的算法了吧,这个已经很简单了!!!
2008-10-18 18:26
初C
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-10-18
得分:0 
你运行下试试
2008-10-18 18:28
singlem1905
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-10-9
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
void main()
{
   int n,j,max,flag;
   scanf("%d",&max);
   for(n=2;n<=max;n++){
       flag=0;
       if(n%6==1||n%6==5)
       for(j=2;j<sqrt(n+1);j++){
           flag=1;
           if(n%j==0){
               flag=0;
               break;}}
           if(flag==1)
           printf("%d\t",n);
   }
}
2008-10-18 18:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-239033-1-1.html




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

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