2546 - 函数练习-1
编写一个函数isPrime,其功能是判断一个正整数是否为素数。其原型可参考如下:
int isPrime(int num);
其中num为要判断是否为素数的整数,如果它是素数,函数返回值为1,否则返回值为0。
从键盘上输入两个正整数m和n(0<m<=n),然后在程序中调用isPrime函数,将m和n之间(包括m和n)的所有素数输出。
输出的数据之间用空格分隔。
Input
1 10
Output
2 3 5 7
Examples
Input
50 100
Output
53 59 61 67 71 73 79 83 89 97
Solution C
#include<stdio.h> int isprime(int num) { int c; for(c=2;c<=num-1;c++) { if(num%c==0) { return 1; } } return 0; } int main() { int a,b,i; scanf("%d%d",&a,&b); for(i=a;i<=b;i++) { if(isprime(i)==0 && i!=1) printf("%d ",i); } return 0; }
Solution C++
#include<stdio.h> #include<math.h> int main() { int isPrime(int a); int a, b, i; scanf("%d%d", &a, &b); for(i=a; i<=b; i++) { if(isPrime(i)==1) printf("%d ", i); } } int isPrime(int a) { int i, z; z = sqrt(a); if(a != 2) { for(i=2; i<=z; i++) { if(a % i == 0)break; } if(i>z)return 1; else return 0; } else return 1; }