C语言实现的统计素数并求和代码分享
题目来源于PAT平台,此题又是费了一番脑子。题目要求输出给定区间内的素数个数并对他们求和。具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和。当然这里必须要注意1既不是素数也不是合数。
下面是代码:
#include<stdio.h> intmain() { inta=0,b=0; intn=0,sum=0; intx=0,i=0; scanf("%d%d",&a,&b); intcheck=1;//假设为素数 for(x=a;x<=b;x++){ check=1; for(i=2;i<x;i++){ if(x%i==0){ check=0; break; } //该循环用于判定是否为素数,遍历一遍小于x的数,如果有能整除x的即给变量赋值为0,并直接跳出循环 } if(check!=0&&x!=1){ n++; sum+=x; }//该if用于判断之前循环传递的check值,并且加入x是否为1的判断 } printf("%d%d",n,sum); return0; }