求100以内素数,不知道哪错了~解决方案
求100以内素数,不知道哪错了~
#include<stdio.h>
#include<math.h>
void main(){
int i,n=100;
while(n>1){
i=(int)sqrt(n);
while(i>=2)
if(n%i!=0)
if(i==2){
printf("%d",n);
n--;
}
else
i--;
else
n--;
printf("%d",n);
n--;
}
}
流程图都画出来了,不知道哪出问题了
------解决方案--------------------
#include<stdio.h>
#include<math.h>
void main(){
int i,n=100;
while(n>1){
i=(int)sqrt(n);
while(i>=2)
if(n%i!=0)
if(i==2){
printf("%d",n);
n--;
}
else
i--;
else
n--;
printf("%d",n);
n--;
}
}
流程图都画出来了,不知道哪出问题了
------解决方案--------------------
- C/C++ code
//判断num是不是素数,是则返回1 int isPrime(int num) { int d = 3; if(num == 2 || num == 3) return 1; if(num%2 == 0)//num为偶数 return 0; //num为奇数 while(d <= sqrt(num) && num % d != 0) { d += 2; } if(num % d != 0) return 1; return 0; }
------解决方案--------------------
include<stdio.h>
void main()
{
int a;
printf("input a number bigger than three please\n");
scanf("%d",&a);
for(int i=3;i<=a;i++)
{
if(i==a)
printf("the number is prime");
else if(a%i==0)
{
printf("the number is not prime");
break;
}
}
}