| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1170 人关注过本帖
标题:判断任意数是否是素数
只看楼主 加入收藏
陈渝坤
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-5-26
结帖率:100%
收藏
 问题点数:0 回复次数:8 
判断任意数是否是素数
判断任意数是否是素数

帮忙做下!!!!
搜索更多相关主题的帖子: 素数 判断 
2010-05-29 22:19
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
收藏
得分:0 
#include<stdio.h>
int main(void)
{
int num,i,flag=0;
printf("Input the num you want to judge\n");
scanf("%d",&num);
for(i=2;i<num;i++)
if(num%i==0)
{
    flag=1;
    break;
}
if(!flag)
printf("YES\n");
else
printf("NO\n");
}
2010-05-30 00:22
陛下
Rank: 2
来 自:南宁
等 级:论坛游民
帖 子:62
专家分:90
注 册:2010-5-15
收藏
得分:0 
#include"stdio.h"
void main()
{
     int a,b,flag=1;
    printf("Please input a number:\n");
    scanf("%d",&a);
    for(b=2;b<a;b++)
    while(a%b!=0)
    {
    flag=0;
    break;
    }
if(flag)
   printf("这个数是素数");
else
    printf("这个数不是素数");

}
这个是在V6 编译的
2010-05-30 00:48
欧阳鹏
Rank: 2
等 级:论坛游民
帖 子:14
专家分:27
注 册:2010-5-29
收藏
得分:0 
#include<stdio.h>
#include<math.h>
main(){
    int data,n;
    printf("enter the data:");
    scanf("%d",&data);
    n=sqrt(data);
    for(int i=2;i<=2;i++)
        if(data%i==0)
            break;
    if(i<n)
        printf("%d是个素数!\n",data);
    else
        printf("%d不是个素数\n!",data);
}
2010-05-30 02:41
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
收藏
得分:0 
循环的上界最好写成sqrt(要判断的数),这样效率会高一些

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2010-05-30 08:58
gaoce227
Rank: 4
来 自:山东
等 级:业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
收藏
得分:0 
回复 5楼 chenaiyuxue
但这样就需要调用math.h的sqrt函数,效率真的高吗?
2010-05-30 12:07
gaoce227
Rank: 4
来 自:山东
等 级:业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
收藏
得分:0 
n=sqrt(data);//
我感觉多此一举,用data直接判断不好吗?
2010-05-30 12:11
zhuxu0423
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:59
专家分:101
注 册:2010-4-12
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Prime_number(int a);
int main()
{
int temp;
do{
printf("请输入您要判断的数:");
scanf("%d",&temp);
Prime_number(temp);
}while(temp!=-1);
}
int Prime_number(int a)
{
int temp1;
int temp2=0;
temp1=a;
for(int i=2;i<=sqrt(temp1+1);i++)
{
if(temp1%i!=0)
continue;
else
{temp2=1;break;}
}
if(temp2==1)
{printf("%d",a);
printf("不是素数\n");} //a不是素数
else
{printf("%d",a);
printf("是素数\n");}//a是素数
}
2010-05-30 13:51
kongbei312
Rank: 2
等 级:论坛游民
帖 子:44
专家分:26
注 册:2011-6-15
收藏
得分:0 
#include "stdio.h"
#include "math.h"
void main()
{
  int m,i,k;
  scanf("%d",&m);
  k=sqrt(m);
  for(i=2;i<=k;i++)
    if(m%i==0)break;
  if(i>k)printf("%d is a prime number\n",m);
  else printf("%d is not a prime number\n",m);
}
2011-06-15 21:07
快速回复:判断任意数是否是素数
数据加载中...
 
   



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

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