c++质数判定及输出质数表

本程序提示用户输入最大值,以此为范围,从最小质数2开始举判断质数,输出质数表。代码如下:

 1 // 素数表.cpp : 定义控制台应用程序的入口点。
 2 //
 3
 4 #include "stdafx.h"
 5
 6
 7 int main()
 8 {
 9     int x = 2,y=1,b,line=0; //x最小质数2为枚举起点,y初值为1,之后递加1,b范围内最大质数,line每行输出的数的数量
10         cout << "请输入最大值:";
11         cin >> b;
12
13         while (x <= b)
14         {
15             int z = x - y; //z随y递减1
16             int a = x%z; //取余数
17             if (a == 0)//如果x被z整除
18             {
19                 if (z == 1)//如果z为1(x是质数)
20                 {
21                     cout << x << "  ";//输出x
22                     x++;
23                     y = 1; //y还原
24                     line++;//每行输出的数的数量加1
25
26                 }
27                 else//如果x为合数
28                     x++;
29                 y = 1;//y还原
30
31
32
33             }
34             else//如果没有被整除
35                 y++;//y加1,下一次循环中z减1
36
37
38             if (line == 10)//每输出10个数
39             {
40                 cout << endl;//输出一个回车
41                 line = 0;//还原line
42
43             }
44
45
46     }
47     system("pause");
48     return 0;
49 }

以输入最大值为100为例,执行结果如下图:

时间: 2024-08-02 00:03:52

c++质数判定及输出质数表的相关文章

poj3518 打质数表

题意:给你一个数 如果是素数就输出0 否则输出大于它的最小质数 和 小于他的最大质数 的差 比如10 大于它的最小质数是11 小于他的最大质数是7 所以输出11-7=4 水题质数表 虽然我的方法傻逼哭) 1 #include <stdio.h> 2 #include <string.h> 3 bool isp [ 10000010 ]; 4 int prime [ 10010 ], size , n , ans , Min = 1299709 , k ; 5 int main ()

代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

package com.heima.Coding; /* 判断101-200之间有多少个素数(质数),并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.*/ public class Test { public static void main(String[] args) { int count = 0; for (int i = 100; i < 200; i++) { for (int j = 2; j <=

hihocoder 1287 : 数论一&#183;Miller-Rabin质数测试 大质数判定

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近突然对密码学产生了兴趣,其中有个叫RSA的公钥密码算法.RSA算法的计算过程中,需要找一些很大的质数. 小Ho:要如何来找出足够大的质数呢? 小Hi:我倒是有一个想法,我们可以先随机一个特别大的初始奇数,然后检查它是不是质数,如果不是就找比它大2的数,一直重复,直到找到一个质数为止. 小Ho:这样好像可行,那我就这么办吧. 过了一会儿,小Ho拿来了一张写满数字的纸条. 小Ho:我用程序随机生成了一些初

loj #143. 质数判定

\(\color{#0066ff}{ 题目描述 }\) 判定输入的数是不是质数. \(\color{#0066ff}{输入格式}\) 若干行,一行一个数 \(x\). 行数不超过 \(10^5\). \(\color{#0066ff}{输出格式}\) 对于输入的每一行,如果 \(x\) 是质数输出一行 \(Y\),否则输出一行 \(N\). \(\color{#0066ff}{输入样例}\) 1 2 6 9 666623333 \(\color{#0066ff}{输出样例}\) N Y N N

java打印1000内的质数并用表格输出

<table width='500' border='1'><% int c=1; for(int i=2;i<=1000;i++){ int n=0; for(int j=2;j<i;j++){ if(i%j==0){ n++; break; } } if(n==0){ if(c%10==0){ out.println("<td>"+i+"</td>"); out.println("<tr>

求质数的各种算法

首先声明本人水平有限,仅仅做一下记录,有错的地方请指正,文章垃圾请包容!! 在网上不小心浏览到一篇技术博客,叫做<求质数算法的N种境界(N>10)>,写得很好,有兴趣的读者自己去搜索.然后就想自己去试试这篇博客里写得各种求质数的方法. 不想搭环境,就暂时用了PHP语言,在apache里运行,简易测试一下. 首先明确一下概念 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中, 除了1和它本身以外不再有其他因数的数称为质数. 100以内质数表 2 3 5 7

apio2017游记

//第一次写游记,只是流水账...结果好像确实只去游了…… day-11 省选挂了,即将退役……(然而apio之后得知并没有退役,感谢放我一条活路)(吐槽出题人考完才造数据,题目没有子任务之类的玩意,O(Tn^2)暴力ac了T<=100,n<=10000,这符合基本法吗)day-3-day-1 感觉期中考完挂day0 8:30的东航航班,因为"一带一路"会议,要提前三小时到机场,凌晨三点半起床,这时机场大巴都还没有的,幸好领队老师和coder107同乘一辆车,前一天说好捎了

题解 P1036 【选数】

关于 P1036 [选数] 嗯,新手试炼场的,错了两次,对,我是蒟蒻. 因为这道题对我有帮助,所以,它是好题. 错啦两次,好尬的. 49--17--100: 不费话了,过程函数与递推. 当然要递推: 49分的不说了,从未先编译一下试试. 跟着题目走,判断质数. 来一段辣鸡代码 #include<bits/stdc++.h> using namespace std; int n,k; int x[25]; int ans; bool judge_prime(int x) { for(regist

素数判定相关资料

素数(质数)的判定 (1)最基本素数判定方法大家熟悉,只用看看2到n(或n的平方根)之间有没有n的约数: #include<stdio.h> void main() { int i,n; scanf("%d",&n); for(i=2;i<n;i++) if(n%i==0)break; if(i<n||n==1)puts("No"); else puts("Yes"); } 此方法适用于判定较少数,数据量大时会超时