标题:给出一个大于或等于3的正整数,判断它是不是一个素数 求指教
只看楼主
浅夏清简
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-20
结帖率:100%
已结贴  问题点数:20 回复次数:2 
给出一个大于或等于3的正整数,判断它是不是一个素数 求指教
刚学习c程序设计(第四版)p36 书上要求用流程图,但是老师要求写程序 不知道是不是
#include<stdio.h>
int main()
{
    int r,i,n,x;
    i=2;
    x=0;
    scanf("%d",&n);
    while(i<n)
    {
        r=n%i;
        i=i+1;
        if(r!=0)
        x=x+1;
    }
    if(x==i-2)
    printf("%d是素数\n",n);
    else
    printf("%d不是素数\n",n);
    return 0;
}


[此贴子已经被作者于2017-3-15 18:37编辑过]

搜索更多相关主题的帖子: c程序设计 正整数 流程图 
2017-03-15 18:34
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:20 
是对的,不过可以优化
#include<stdio.h>
 int main()
 {
     int i,n;
     i=2;
     scanf("%d",&n);
     while(i*i<n)
     {
         if(n%i==0)break;
         i++;
     }
     if(i*i>=n)
     printf("%d是素数\n",n);
     else
     printf("%d不是素数\n",n);
     return 0;
 }
2017-03-15 18:51
浅夏清简
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-20
得分:0 
回复 2楼 ehszt
谢谢啦
2017-03-16 10:25



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




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

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