c语言编程 求助 谢谢 编写程序,将大于整数m且紧靠m的k个素数输出(k小于10)。

2024-11-01 23:09:46
推荐回答(1个)
回答1:

  • 这个刚刚写的,呵呵,刚好可以. 
    #include"stdio.h" 
    int prime(int n) 

    int i; 
    for(i=2;i<n;i++) 
    if(n%i==0)break; 
    return i==n; 

    int fun(int m,int k) 

    int i,s=0,a[k],j=0; 
    for(i=m+1;;i++) 

    if(prime(i)) 

    a[j++]=i; 
    printf("%d ",a[j-1]); 

    if(j==k) 
    break; 

    for(i=0;i<k;i++) 
    s+=a[i]; 
    return s; 

    main() 

    int t,m,k; 
    printf("请输入m,k:\n"); 
    scanf("%d,%d",&m,&k); 
    t=fun(m,k); 
    printf("\n%d\n",t); 
    }

  • 回答2:

  • 2017-01-18点赞数:3回答者:匿名用户

    这个很简单吗,呵呵 
    #include <stdio.h> 
    #include <math.h> 
    main() 

    int m,k,i,j,a; 
    scanf("%d %d",&m,&k); 
    for(;k!=0;m++) 

    for(i=2,i<sqrt(m);i++) 
    if(m%i==0) 

    a=1; 
    break; 

    else 
    a=0; 
    if(a==0) 

    printf("%d ",m); 
    k--; 


    }

  • 回答3:

  • 2017-01-18回答者:匿名用户

    完整代码如下 
    #include <stdio.h> 
    #include <conio.h> 
    int main() 
    { int m,k,count=0; 
    int i,j; 
    printf("input m and k:"); 
    scanf("%d%d",&m,&k); 
    for(i=m+1;;i++){ 
    for(j=2;j<=i;j++){ 
    if(i%j==0)break; } 
    if(j==i){count++;printf("%d ",i);} 
    if(count==k)break; } 
    getch(); 
    return 0; }

参考资料

搜狗问问.搜狗[引用时间2018-3-29]