小白求助,只有80分
查看原帖
小白求助,只有80分
234622
Haneshio楼主2021/3/9 14:37

萌新求助,只有80分。

#include<stdio.h>
int prime(int n);//判断是否是质数,返回1则为质数
int main() {
    int L,i,j=0;
    int sum=0;
    scanf("%d",&L);

   /*特殊数字处理*/
    if(L<2){printf("0\n");return 0;}
    else if(L==2){printf("2\n1\n");return 0;}

    for(i=2; i<L;i++)
       if(prime(i)) //若为质数
       {  
        /*若加上下一个质数总和超过L,打印质数个数,跳出循环*/
        if(sum+i>L) 
        {printf("%d",j); return 0;}
              
        /*若不超过L,则输出质数*/
         printf("%d\n",i); 
         sum+=i;    //计算总和
         j++;      //j为质数个数
       }
 
    return 0;
}   

int prime(int n){
   int i;
  /*若能被整除,则不为质数,返回0*/
   for(i=2;i<n;i++)
      if(n%i==0)  return 0; 
   return 1;
}

2021/3/9 14:37
加载中...