埃拉托色尼筛选法c语言求最大公约数,用埃拉托色尼筛算法求两个数最大公约数C++的实现...
#include "stdafx.h"
#include "iostream"
#include
#include
//使用埃氏筛选法求最大公约数
void sort(int m, int n) ;
int main()
{
int a, b;
for (int i = 0; i < 3; )
{
std::cout << "请输入两个数" << "n";
std::cin >> a >> b;
std::cout << "n";
sort(a, b);
i++;
if (i == 3)
{
std::cout << "是否继续,输入n退出或输入任意数继续n";
char confirm;
std::cin >> confirm;
if (confirm != 'n')
i = 0;
}
}
system("pause");
return 0;
}
void sort(int m, int n)
{
int imax, imin;
int sq;
//取最大最小值
imax = std::max(m, n);
imin = std::min(m, n);
//构造辅助数组
bool *isTrue = new bool[imin];
sq = sqrt(imin) + 1;
//数组初始化
for (int i = 2; i <= imin; i++)
{
isTrue[i] = true;
}
//数组中TRUE为质数
for (int i = 2; i <= sq; i++)
{
if (isTrue[i])
{
for (int j = 2; j <= imin; j++)
{
if (j%i == 0 && i != j)
isTrue[j] = false;
}
}
}
//打印质数
for (int i = 2; i <= imin; i++)
{
if (isTrue[i])
std::cout << "质数:" << i << std::endl;
}
std::cout << "nn";
//求两数最大公约数
int s = 1;//最大公约数
for (int i = 2; i <= imin; )
{
//std::cout << i;
if (isTrue[i])
{
if (imax%i == 0 && imin%i == 0)
{
imax /= i;
imin /= i;
s *= i;
//std::cout <
}
else ++i;
}
else ++i;
}
std::cout <
}
埃拉托色尼筛选法c语言求最大公约数,用埃拉托色尼筛算法求两个数最大公约数C++的实现...相关推荐
- c语言埃拉托色尼筛选法数组,埃拉托色尼筛选法 算法
埃拉托色尼筛选法 埃拉托色尼选筛法(the Sieve of Eratosthenes)简称埃氏筛法,是古希腊数学家埃拉托色尼(Eratosthenes 274B.C.-194B.C.)提出的一种筛选 ...
- python filter求素数-埃拉托色尼筛选法
质数:只可以被两个数整除,1和该数本身: 埃拉托色尼筛选法说明; (1)先把1删除(现今数学界1既不是质数也不是合数) (2)读取队列中当前最小的数2,然后把2的倍数删去 (3)读取队列中当前最小的数 ...
- Java实现埃拉托色尼筛选法
1 问题描述 Compute the Greatest Common Divisor of Two Integers using Sieve of Eratosthenes. 翻译:使用埃拉托色尼筛选 ...
- 埃拉托色尼筛选法(Eratosthenes Sieve)分析
最近看<java核心技术>看到集合章节,在最后位集(BitSet)部分给出了一个示例程序,使用了埃拉托色尼筛选法(Eratosthenes Sieve)求自然数2~n范围的所有素数 代码如 ...
- 埃拉托色尼筛选法------筛选质数
前戏:本篇介绍一种特定数据范围内统计该段数据内所有质数的高效算法,埃拉托色尼筛选法. 正文: 1.埃拉托色尼筛选法: 埃拉托色尼筛选法(the Sieve of Eratosthenes)简称埃氏筛法 ...
- JavaScript实现sieveOfEratosthenes埃拉托色尼筛选法算法(附完整源码)
JavaScript实现sieveOfEratosthenes埃拉托色尼筛选法算法(附完整源码) sieveOfEratosthenes.js完整源代码 sieveOfEratosthenes.js完 ...
- 埃拉托色尼筛选法 C++实现
在公元前3世纪,古希腊天文学家埃拉托色尼发现了一种找出不大于n的所有自然数中的素数的算法,即埃拉托色尼筛选法. 具体筛选步骤: 这种算法首先需要按顺序写出2到n中所有的数. 然后把第一个元素画圈,表示 ...
- [编程] 2 python 实现埃拉托色尼筛选法
1.1简介: 埃拉托色尼筛选法是用来生成质数的经典计算机编程算法,一般用来衡量计算机的速度. 我们知道,质数是能被自己和1整除的整数. 2,3,5,7,11都是质数. 那么算法是如何实现质数的识别呢? ...
- 埃拉托色尼筛选法计算素数个数
埃拉托色尼筛选法计算素数个数 素数:指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. int main() {int MAXNUM = 1000; // 在这里以1000为例int n ...
最新文章
- unity水管工_我是如何从30岁的管道工转变为32岁的Web开发人员的
- Watson AI遭遇逆风 IBM否认停售:只是转移了重心
- 获取当前的系统时间 年-月-日 小时-分钟-秒
- TCP/IP这本书讲TCP是从哪些方面保证可靠性的?
- 有几个人会用计算机,怎么知道我家的wifi有几个人在使用
- CListCtrl::InsertColumn()和InsertItem()和SetItemText()
- mysql更新写入数据_七、MySQL插入、更新与删除数据
- 02 ansible核心模块 之 shell script
- 使用git和github进行协同开发流程
- RT-Thread 简介 https://www.rt-thread.org/
- linux条件变量唤醒丢失,多线程编程精髓(三)
- 公务员学python有什么用_关于大龄中年学python的几点想法
- 修改 exchange服务器,修改或删除 Exchange 2010
- android 常用软件包
- 洛谷-P1957-口算练习题
- Idea设置全白色 背景
- 疯狂的java 目录,疯狂创客圈 JAVA死磕系列 总目录
- Navicat Premium 简介、安装、使用
- iOS-Core Animation 核心动画高级编程/3-图层几何学
- word中删除页眉的横线