[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
1、素数
(1)什么是素数?
素数是除了1和它本身不能被其他数整除的。
(2)素数的求解(输入一个数,判断是否为素数,若是,打印Yes,若不是,打印No)
#include<stdio.h> int main() { int n,i; scanf("%d",&n); for(i=2;i<n;i++)
if(n%i==0) //对2求余,若不等于0,则执行i++,直到i>=n时,终止循环 { break;//若满足条件n%i==0,则跳出本层循环 }
if(n==i) { printf("Yes"); } else { printf("No"); } return 0; }
(3)小练习:输出100-200之间的所有素数,并求总共的个数
方法一:
#include<stdio.h> int main() { int i,j,count=0; for(i=100;i<=200;i++) {
for(j=2;j<i;j++)//2-199之间的数看看能不能整除,若不能,则为素数 { if(i%j==0) { break; } } if(i==j)
{ count++; printf("%d ",i); } }printf("\ncount=%d",count);//打印100-200之间素数的总数
return 0; }
方法二:
#include<stdio.h> int main() { int i,j,count=0; for(i=100;i<=200;i++) { int
flag=1; for(j=2;j<i;j++) { if(i%j==0) { flag=0; } } if(flag==1)
//==是关系运算符,而=是赋值运算符 { count++; printf("%d ",i); } }printf("\ncount=%d",count);
return 0; }
方法三:优化方案
//若m=a*b //a.b中一定至少有一个数字是<=√m; //例如:16=4*4=2*8 #include<stdio.h>
#include<math.h> int main() { int i,j,count=0; for(int
i=101;i<=200;i+=2)/*除2以外,所有的偶数都不是素数,所以为了程序更简单,让i+=2,把100-200之间的偶数都去掉*/ { int
flag=1; for(j=2;j<=sqrt(i);j++)//用sqrt时,一定要调用头文件 { if(i%j==0) { flag=0; break;
} } if(flag==1) { count++; printf("%d ",i); } }
printf("\ncount=%d",count);//看100-200之间有多少个素数 return 0; }