赞
踩
- #include <stdio.h> //方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数
- int main() //因为我们只需要循环到i<n,而不是i<=n,否则就会出错。
- {
- int i, n;
- printf("请输入数值 ");
- scanf("%d", &n);
- if (n<=1)
- {
- printf("数据错误,不在取值范围内\n");
- return 0;
- }
- for (i = 2; i <= n - 1; i++) //在2到n-1之间任取一个数
- {
- if (n % i == 0)
- {
- break;
- }
- }
- if (i == n)
- {
- printf("这是素数\n"); //直到循环结束都未被整除,是素数
- }
- else
- {
- printf("这不是素数\n"); //能被整除,不是素数
- }
- return 0;
- }
- #include<stdio.h> //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数
- int main()
- {
- int n, i;
- printf("请输入数值: ");
- scanf("%d", &n);
- if (n<=1)
- {
- printf("数据错误,不在取值范围内\n");
- return 0;
- }
- for (i = 2; i <= n / 2; i++) //在2到n/2之间任取一个数
- {
- if (n % i == 0)
- {
- printf("这不是素数\n"); //能被整除,不是素数
- break;
- }
- }
- if (i == n / 2 + 1)
- {
- printf("这是素数\n"); //循环结束还不能被整除,是素数
- }
- return 0;
- }
- #include<stdio.h> //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数
- #include <math.h> //引用数学公式的声明
- int main()
- {
- int i, j, n;
- printf("请输入数值: ");
- scanf("%d", &n);
- j = (int)sqrt(n); //j为n开平方根,也就是根号下n
- if (n<=1)
- {
- printf("数据错误,不在取值范围内\n");
- return 0;
- }
- for (i = 2; i <= j; i++) //在2到sqrt(n)之间任取一个数
- {
- if (n % i == 0)
- {
- break;
- }
- }
- if (j < i)
- {
- printf("这是素数\n"); //循环结束还不能被整除,是素数
- }
- else
- {
- printf("这不是素数\n"); //被整除,不是素数
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。