我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0 < n <= m <= 200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
#include<stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int a=0;
int g = 0;
int sum=0;
int z = 0;
for (a = 2; z <= 200;a++) {
int i;
int cnt = 1;
for (i = 2; i < a; i++) {
int k = a % i;
if (k == 0) { cnt = 0; }
}if (cnt == 1) {
g += 1;
z++;
if (g <= m && g >= n) { sum += a; }
}
}printf("%d\n",sum);
return 0;
}
搜索
#include<stdio.h>
int reach(int d,int a[],int g);//声明函数
int main(void){
int a[] = { 25,58,99,45,11,59 };//集成初始化数组
int x;
scanf("%d", &x);
int l;
l = reach(x, a, sizeof(a) / sizeof(a[0]));//调用reach函数同时把值返回给l
if (l != -1) {
printf("%d在%d个位置",x,l);
}
else { printf("不存在"); }
return 0;
}
int reach(int d,int a[],int g)//定义函数
{
int c = -1;
int i;
for (i = 0;i<g;i++)//遍历数组
{
if (d==i[a]){
c = i;
break;
}
}
return c;//将i的值返回给l
}