解题思路:
素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
1.输入一个数number,若number为大于一的自然数,判断它是否为素数;
2.number为大于一的小数,不是素数;
3.number小于等于1,不是素数;
参考代码:
#include <stdio.h> int main() { double number; int i; scanf( "%lf", &number ); if ( number > 1 && number == (int) number ) //大于1的自然数 { for ( i = 2; i < number; i++ ) { if ( (int) number % i == 0 ) { printf( "not prime" ); break; } } if ( i == number ) printf( "prime" ); } if ( number>1&&(int) number != number ) //大于一的小数 printf( "not prime" ); if ( number <= 1 ) //小于等于一的数 printf( "not prime" ); return(0); }
0.0分
44 人评分
#include<stdio.h> char sushu(int n)//自定义函数处理素数 { int i; if(n>1) { for(i=2;i<n;i++) { if(n%i==0) { printf("not prime"); break; } } if(n==i) printf("prime"); } if(n<=1) printf("not prime"); } int main() { int n; scanf("%d",&n); sushu(n); return 0; }
#include <stdio.h> int s(int x); int main(int argc, char *argv[]) { int x; scanf("%d",&x); s(x); return 0; } int s(int x) { int i; int t; for(i=2;i<x;i++) { if(x%i==0) { t=1; } } if(t==1) { printf("prime"); } else { printf("not prime"); } } 为啥只有五十分
WaterFalls 2022-05-12 16:29:35 |
可能是因为题目说在主函数输入输出把
为什么是答案错误50%,请各路大神指导 #include<stdio.h> void f(int x) { int i; for(i=2;i<x;i++) { if(x%i==0) { break; } } if(i==x) { printf("prime"); }else { printf("no prime"); } } int main() { int x; scanf("%d",&x); f(x); return 0; }
秋清深 2021-11-25 17:33:07 |
程序没啥问题。但是是not不是no所以50%错误
上面的解题有问题只对了%50 负数和小数那里有点奇怪 大家仅供参考 %100正确代码如下 #include<stdio.h> void as(int a) { int i; for(i=2;i<a;i++) { if(a%i==0) { printf("not prime"); break; } else { printf("prime"); break; } } } int main() { int i,n; scanf("%d",&n); as(n); return 0; }
#include <stdio.h> int isPrime(int m){ int i = m-1; while (i != 1){ if(m%i == 0){ return printf("not prime\n"); break; } i--; } return printf("prime\n"); } int main(int argc, char* argv[]){ int a; scanf("%d", &a); isPrime(a); return 0; }
#include <stdio.h> #include <math.h> int main() { int m,i,n; scanf("%d",&m); for(i=2;i<m;i++) { n=m%i; if(n==0) { printf("not prime"); break; } } if(n!=0) { printf("prime"); } }
#include<stdio.h> void as(int a) { int i; for(i=2;i<a;i++) { if(a%i==0) { printf("not prime"); break; } else { printf("prime"); break; } } } int main() { int i,j,k,n; scanf("%d",&n); as(n); return 0; }