收藏 分销(赏)

c语言-判断质数.docx

上传人:二*** 文档编号:4514763 上传时间:2024-09-26 格式:DOCX 页数:4 大小:14.16KB 下载积分:5 金币
下载 相关 举报
c语言-判断质数.docx_第1页
第1页 / 共4页
本文档共4页,全文阅读请下载到手机保存,查看更方便
资源描述
C语言-判断质数 记得写注释 教材p217 质数也叫素数,100以内的质数有25个。分别是:2、3、 5、7、11、13、17、19、23、29、31、37、41、43、47、 53、59、61、67、71、73、79、83、89、97e 质数概念1:除了1和它本身以外再也没有一个能被它整 除的整数。 质数概念2 :质数是指在大于1的自然数中,除了1和它 本身以外不再有其他因数的自然数。 (什么是因数? 4=1*4或2*2那么1、2、4就是4的因 数) (什么是合数:除了1和它本身还有其它正因数。) 技术点:for语句、if语句、break语句 注意:循环判断条件范围(k)可有三种写法,执行效率依次 2日.占. (l)2~n-l(2 ) 2 〜n/2 (3 ) 2〜sqrt(n) n开平方 sqrt()说明在math.h头文件中L 输入一个数,判断是不是质数(素数X #include <stdio.h>#include <math.h>//sqrt()函数在这里面声明 int mainC) { int n,a=0,i,k;//a用来记录是不是质数 scQnf("%d“,&n); k=sqrt(n); for(i=2; i<=k; i++)〃判断是不是质数 ( if(n%i==0)〃如果能够被i整除,说明不是质数 (a=l;〃设置a为1,代表现在这个数不是质数 break;//不是质数了,不需要继续循环判断,跳出循环 ) ) if (a==l)printf (”%d 不是质数 “,n); else printf(“%d是质数”,n); return 0;) 方法二: #include <stdio.h>^include <math.h>〃sqrt()函数在这里面声明 int main。{ int n,i,k; scanf("%dM,&n); k=sqrt(n); for(i=2;i<=k;i++) 〃判断是不是质数 {if(n%i==0)〃如果能够被i整除,说明不是质数 {break;//不是质数了,不需要继续健环判断,跳出循环 ) } if(i>k)printf(”%d是质数”,n);〃如果是质数会执行完for语句,最后i为k+1 else printf(”%d不是质数”,n); return 0;) 2、 输出100以内的质数(素数)#include <stdio.h> ^include <math.h>//sqrt()函数在这里面声明int main。{ int n,i,k; for(n=2;n<=100;n++){〃判断质数开始 k=sqrt(n);for(i=2 ;i<=k; i++)〃判断是不是质数 {if(n%i==0)〃如果能够被i整除,说明不是质数 {break;//不是质数了,不需要继续循环判断,跳出循环 }} if(i>k)printfC'%d如果是质数会执行完for语句,最后i为k+1〃判断质数结束 ) return 0;) 3、【拓展】输出100以内的质数(素数),每5个换行#include <stdio.h> *include <math.h>//sqrt()函数在这里面声明 int main() { int n,i,k,count=0; for(n=2;n<=100;n++){〃判断质数开始 k=sqrt(n);forCi=2; i v=k; i++)〃判断是不是质数 if(n%i==0)break; {printfCf%2d H,n); count++;i f (count%5=0)p ri nt f ( H\n n ); ) ) return 0;} 4、【拓展】任意输入两个正整数,输出这两个整数之间的所有质数(素数) #mcLude <stdio.h> #include <math.h>//sqrt()函数在这里面声明 int main() { int j,k,count=0; scanf(M%d%dn,&n,&m); for(i=n;i<=m;i++){〃判断质数开始 k=sqrt(i);for(j=2; j<=k; j++)〃判断是不是质数 if(i%j==0)break; if(j>k&&i!=l) (printfC^Zd n,i); count++;i f(count%5==0)printfC*\n"); ) ) return 0;) 5、【拓展】通过自定义函数isprime(),实现质数(素数)的判断传入一个整数n ,判断是否为质数(素数),假设是返回1 ,否 那么返回0。 #include <stdio.h>^include <math ,h>//sqrt()函数在math・h中声明 int main。{ int n; int isprime(z/7t n); scanf(H%dH,&n); if (isprime(n))printf ("%d 是质数",n); else printf(“%d不是质数”,n); return 0;) int isprime(znt n){ int k,i; k=sqrt(n); for(i=2 ;i<=k; i++)〃判断是不是质数 if(n%i==0)break; ifCi>k&&n!=l) return 1;〃质数返回1 else return 0;//不是质数返回0}
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服