编写两个正整数m和n,编写函数int fun(intm,intn) 统计m和n之间的素数个数

编写两个正整数m和n,编写函数int fun(intm,intn) 统计m和n之间的素数个数以及这些素数的和

#include "stdio.h"
int prime(int n){//求素数
    int i;
    if(n>2 && !(n&1) || n<2)
        return 0;
    for(i=3; i*i<=n;i+=2)
        if(!(n%i)) return 0;
    return n;
}
int fun(int m,int n){//求素数之和
    int i,sum=0;
    for(i=m;i<=n;i++)
        sum += prime(i);
    return sum;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-23
#include<stdio.h>
#include<math.h>
int main()
{
int prime(int a);
int m,n,i,count=0;
printf("请输入两个正整数:");
scanf("%d,%d",&m,&n);
for(i=m;i<=n;i++)
{
if (prime(i)==1)
{
count++;
}
}
printf("这两个正整数之间的素数个数为:%d\n",count);
return 0;

}
int prime(int a)
{
int i;
if(a==1)
return 0;
for(i=2;i<=sqrt(a);i++)
if(a%i==0)
return 0;
return 1;
}本回答被网友采纳

编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数.要...
4、素数设计算法:取消检测区间,提高程序效率。我们可以只判断2到n\/2之间的数,就可以知道他是不是素数了。5、获取前100之间的所有素数:从2到一百挨个判断,是素数就记录下来。6、判断一个数是不是素数:if (sushu(Int32.Parse(tb_inputvalue.Text))) {MessageBox.Show(tb_inputvalue.Text + "...

编写程序 输入两个正整数m和n(1<=m<n<=500),统计并输出m和n之间素数...
int main(){ int a,b,m,n,s=0,i,count=0;printf("请输入一个两个互不相等1~500之间正整数m,n:\\n");scanf("%d%d",&m,&n) ;if(m==n){printf("不符合输入要求\\n"); } if(m>n){ a=n;n=m;m=a;} for(b=m;b<=n;b++){ for(i=2;i<=b-1;i++)if(b%i=...

【问题描述】输入两个正整数m和n(m>=1,n<=500),统计处m和n之间素数的...
intprime(int m);for(m=1;m<=n;m++){---去掉m=1(直接从m开始)if(prime(m)!=0){ count++;sum=sum+m;} printf("count=%d,sum=%d",count,sum);return0;} } intprime(int m){ inti,x;if(m==1)return0;x=sqrt(m);for(i=2;i<=x;i++)if(m%i==0){ return0;} return...

输入两个正整数m和n,统计并输出m和n之间的素数的个数
include <stdio.h>int prime(int m){ int i; for(i = 2; i <= m \/ 2; i++) if(m % i == 0) return 0; return 1;}int main(void){ int i, m, n, c=0, s=0; printf("Input m:"); scanf("%d", &m); printf("Input n:"); scan...

...m和n(m>1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和...
void main(){ int prime(int m);int m =0,n=0;scanf("%d,%d", &m,&n);int max = 0, min = 0;max = m > n? m:n;min = m> n?n:m;int i = 0,count = 0, sum = 0;for (i = min + 1; i < max; i++){ if (1 == prime(i)){ sum += i;count++;} ...

求素数:输入两个正整数m和n,求出[m,n]区间的所有素数。用c语言
} return 1;\/*当足次循环的时候,代表是质数,会执行到此句*\/ } void main(){ int m,n;scanf("%d%d",&m,&n); \/*这里默认你输入的第一个数据小第二个数据大,也没有做合法性检查,你可以适当改改*\/ for(;m<=n;m++){ if(prime(m)==1)printf("%d\\t",m);} } ...

从键盘上输入两个正整数m和n,不妨设m<n,编程输出m和n之间所有素数,要求...
main(){int m,n,i,cnt=0;printf("input m n: ");scanf("%d %d", &m,&n );for( i=m;i<=n;i++ ){if ( i >= 2 ){int j;for( j=2;j<=i\/2;j++ )if ( i%j==0 )break;if ( j > i\/2 ){printf("%d", i );cnt++;if ( cnt %4==0 )printf("\\n");...

输入两个正整数m和n,求出[m,n]区间的所有素数 c语言
int a,b,i,j; int find=0; while(1) { printf("请输入两个数: "); scanf("%d %d",&a,&b); if(a>b || a<2) { printf("\\n输入时第一个数应该小于第二个数 并且 第一个数不小于2\\n\\n 按回车重新输入"); getchar(); getchar(); sy...

输入两个正整数m和n,求出[m,n]区间的所有素数
for(i=m; i<=n; i++) { for(j=2; j<=i; j++) { if(i % j==0) { break; } } if(j==i) { printf(" %d",i); } } 这一段是正确的,替换下就可以

输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,我写的...
int main(void){ int i,j,k=0,m,n;printf("please input two numbers:");scanf("%d,%d",&m,&n);while(m>n || m<=1) \/\/这里是判断语句 如果输入的m小于n或m小于2的话 就结束 { return 0;} for(i=m;i<=n;i++) \/\/ 下面是求素数的算法 { for(j=2;j<=i\/2;j++...

相似回答