赞
踩
素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
从键盘上输入一个整数n,输出所有小于等于n的素数。所谓素数是指:除了1和它背身以外不能被其他整数整除的数;
输入:50
输出:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
- // shuchusushu.cpp : 定义控制台应用程序的入口点。
- //
-
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- int prime(int x){
- for(int i= 2;i< x ; i++){
- if(x%i == 0)
- return 0;
-
- }
-
- return 1;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int m,k=0;
- int arr[2000]={0};
- printf("输入50到2000之间的整数: ");
- cfu:
- scanf("%d",&m);
- if (m >= 50 && m <= 2000)
- {
- //判断在m以内有素数
- for (int i =2;i < m; i++)
- {
- if (prime(i)==1){
- printf("%d 是素数\n",i);
- arr[k++]= i;
- }else{
- printf("%d 不是素数\n",i);
- }
- }
-
- }else{
- printf("输入50到2000之间的整数");
- goto cfu;
- }
- cout << "K的值: "<< k << endl;
- for (int i = 0;i < k-1;i++)
- {
- for (int j = 0;j < k-1-i;j++)
- {
- if (arr[j] < arr[j+1] )
- {
- int temps = arr[j];
- arr[j] = arr[j+1];
- arr[j+1] = temps;
- }
- }
- }
- printf("10个数排序:");
- for (int i = 0;i< k; i++)
- {
- printf("%d ",arr[i]);
- }
- while(1);
- return 0;
- }
代码:如果需要区间的则在判断if (m >= 50 && m <= 2000)处增加区间即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。