69,374
社区成员
发帖
与我相关
我的任务
分享
int n,i = 0;
scanf("%d",&n);
while (n > 1){
if (n == 2|| n % 2)
if (n == 3 || n % 3)
if (n == 5 || n % 5)
if (n == 6 || n % 6)
if (n == 7 || n % 7)
if (n == 8 || n % 8)
if (n == 9|| n % 9){
printf("%d\t",n);
i++;
}
n--;
}
printf("有%d素数\n",i);
#include<stdio.h>
int main()
{
int a,i,j,m;
scanf("%d",&a);
for(i=2;i<=a;i++)
{
m=1;
for(j=2;j*j<=i;j++)//少了一个等号,这下对了
if(i%j==0)m=0;
if(m)printf("%4d",i);
}
return 0;
}
#include<stdio.h>
int main()
{
int a,i,j,m;
scanf("%d",&a);
for(i=2;i<=a;i++)
{
m=1;
for(j=2;j*j<i;j++)
if(i%j==0)m=0;
if(m)printf("%4d",i);
}
return 0;
}
我写的,楼主参考while(n>=1)要去掉=
#include<stdio.h>
#include<math.h>
main()
{
int a,b,i,count=0;
scanf("%d",&a);
for(b=2;b<=a;b++) //因为1不是素数
{
for(i=2;i<=(int)sqrt(b);i++)
{
if(i==(int)sqrt(b)&&b%i!=0)
{
printf("%d ",b);
count++;
break;
}
if(b%i==0)
{
break;
}
}
if(count==10)
{
printf("\n");
count=0;
}
}
printf("\n");
}
#include <stdio.h>
#include <math.h>
int test(int n) ;
void main()
{
int n, i=0, count=0 ;
scanf("%d", &n) ;
while(n>=1) {
if(test(n)) {
printf("有素数%d\n", n) ;
count++ ;
}
n--;
}
printf("有%d个素数\n", count) ;
}
int test(int n)
{
int i ;
for(i=2 ; i<=sqrt(n) ; i++)
if(!(n%i))
return 0;
return 1 ;
}