精华内容
下载资源
问答
  • 因数与公倍数

    2021-01-27 11:08:02
    输出它们的最大公因数和最小公倍数 样例输入: 10, 15 样例输出: 5, 30 #include <iostream> #include <conio.h> #include <math.h> //定义啷个宏,方便后面操作 #define MAX(a,b) (a>b)?a:b #...

    设计一个程序, 输入两个整数n,m. 输出它们的最大公因数和最小公倍数

    样例输入:
    10, 15
    样例输出:
    5, 30

    #include <iostream>
    #include <conio.h>
    #include <math.h>
    //定义啷个宏,方便后面操作
    #define MAX(a,b) (a>b)?a:b
    #define MIN(a,b) (a<b)?a:b
    using namespace std;
    /**程序窗口*/
    void winos();
    //判断输入是否合法(范围  非数字判断  )
    void User_Input(int* a);
    int main()
    {
    	while (1)
    	{
    		int a = 0, b = 0;//假设这两个数字是最大公约和最小公倍数  
    		int Remainder;  // 余数
    		int m, n;  // 用户输入
    		cout << "请输入第一个数字\n";
    		User_Input(&m);
    		cout << "请输入第二个数字\n";
    		User_Input(&n);
    		//使用宏替换的方式 给 a和 b赋值
    		a = MAX(m, n);
    		b = MIN(m, n);
    		//然后判断,如果两个数取余不是0进去循环
    		while (a % b != 0)
    		{
    			//获得余数
    			Remainder= a % b;
    			//a拿到b的值
    			a = b;
    			//b拿到余数
    			b = Remainder;
    		}
    		//打印结果
    		cout << "最大公约数为:" << b << endl;
    		cout << "最小公倍数为:" << m * n / b << endl;
    		cout << "还要继续玩吗? (任意键继续玩,按n退出程序)\n";
    		char ch = ' ';
    		if (ch = _getch(), ch == 'n' || ch == 'N')
    		{
    			break;
    		}
    	}
    	system("pause");
    	return 0;
    }
    //判断输入是否合法(范围  非数字判断  )
    void User_Input(int* a)
    {
    	do {
    		//如果输入函数返回值是1,代表输入正确  跳出循环
    		if (scanf("%d", a) == 1)
    		{
    			break;
    		}
    		//如果返回值不是1,执行下面的,
    		char choice;
    		//循环字符缓冲区内容
    		while ((choice = getchar()) != '\n' && choice != EOF);
    		printf("输入的不是数字!请重新输入       ");
    	} while (scanf("%d", a) != 1);
    }
    void winos()
    {
    	system("title 做题");			//设置CMD窗口 标题
    	system("color 4E");					//窗口显示颜色
    	system("mode con cols=65 lines=35");//设置窗口大小
    	printf("\t\t※当 前 时 间※\n\n");	//窗口显示时间
    	printf("\t\t");						//为了好看
    	system("date /T");					// 窗口显示时间
    	printf("\t\t");						//为了好看
    	system("TIME /T");					// 窗口显示时间
    }
    
    
    
    
    
    
    
    展开全文
  • 怎么求最大公因数和最小公倍数

    万次阅读 2018-05-16 08:46:41
    设有a,b两数,求他们的最大公因数和最小公倍数公式:最大公因数 = a * b / 最小公倍数 = 两数之积除以最小公倍数。#include "iostream" //void fun(int x, int y, int a[]); void fun(int x, int y); ...

    设有a,b两数,求他们的最大公因数和最小公倍数

    公式:最大公因数 =  a * b / 最小公倍数 = 两数之积除以最小公倍数。

    #include "iostream"
    //void fun(int x, int y, int a[]);
    void fun(int x, int y);
    using namespace std;
    void main() {
    	while (1) {
        int a, b;
    	cin >> a >> b;
    	fun(a, b);
    	}
    	
    	
    	//int a[2];
    	
           
    	
    	
    	//fun(a, b, a[2]);
    }
    void fun(int x, int y ) {
    	int m = x;//用m记录x
    	int n = y;//用n记录y
    	int z = 1;//用z来定义余数
    	//这个算法求的是最大公因数
    	//如果余数为0,说明x < y; 那么y就是最大公因数
    
    	//如果余数不为0,说明x > y; 那么把y 赋给 x;把余数赋给y,再做取余运算。
    	while (z != 0) {
    		z = x % y;
    		x = y;
    		y = z;
    	}
    	cout << "最大公因数:" << x << endl;//这里的 x 是原来的 y;
    	cout << "最小公倍数:" << m * n / x << endl;//利用公式算出最小公倍数
    }


    
    展开全文
  • C++求最小公倍数和最大公因数 最近自学了个vector感觉比纯穷举法求最小公倍数效率高。用得初中算最小公倍数的算法,顺便练练vector容器 #include<string> #include<iostream> #include<vector> #...

    C++求最小公倍数和最大公因数

    最近自学了个vector感觉比纯穷举法求最小公倍数效率高。用得初中算最小公倍数的算法,顺便练练vector容器

    #include<string>
    #include<iostream>
    #include<vector>
    #include<math.h>
    using namespace std;
    
    int main()
    {
    	//求因子
    	vector<int>v1;//定义两个容器存放两个数的因子
    	vector<int>v2;
    	double a, b;
    	double c,d,e,f;
    	scanf_s("%lf%lf", &a, &b, 2);//cin>>a>>b;
    	int temp = 0;
    	if (a > b)
    	{
    		temp = a;
    		a = b;
    		b = temp;
    	};//a小,b大 
    	for (int i = 1; i <= a; i++)
    	{
    		c = a / i;
    		d = floor(c);
    		if (c == d)
    		{
    			v1.push_back(i);//把可以整除的除数存入容器
    		}
    		else
    			continue;
    	};
    	cout << a<<"的因数:";
    	for (auto i : v1)
    	{
    		cout << i << "  ";//检索v1,打印v1中所有元素
    	};
    	cout << endl;
    	//同理求b的因子
    	cout << b<<"的因数:";
    	for (int i = 1; i <= b; i++)
    	{
    		f = b / i;
    		e = floor(f);	
    		if (f == e)
    		{
    			v2.push_back(i);
    		}
    		else
    			continue;
    	};
    	for (auto i : v2)
    	{
    		cout << i << "  ";
    	};
    	cout << endl;
    	//对比两容器存放因子的值,将相同值存入容器v3,最后返回v3中最大的值,即最大公因数
    	int v1_n=0;
    	int v2_n=0;
    	vector<int>v3;
    	v1_n = v1.size();
    	v2_n = v2.size();
    	for (auto i:v1)
    	{
    		for (auto k : v2)
    		{
    			if (i == k)
    			{
    				v3.push_back(i);
    			};
    		}
    	}
    	cout << endl;
    	cout << "最大公因数为: " << v3.back() << endl;
    	如何求最小公倍数呢?
    	将a,b中大数赋给a;b的容器里的每一个值去乘a,如果得出来的值能被b整除
    	将这些值存储到容器v4中,最后输出v4中第一个值,或者不用容器直接输出第一个得到的结果
    	vector<int>v4;
    	int nv1 = 0;
    	nv1 = v1.size(); //v1的元素个数
    	double t1, t2;//初始化过程变量
    	int v4_t=0;  //初始化公倍数变量
    	for (int i2 = 0;i2<nv1;++i2)
    	{
    		t1 = (b * v1[i2]) / a;
    		t2 = floor(t1);
    		if (t1 == t2)//判断整除 
    		{
    			v4_t= b * v1[i2];
    			v4.push_back(v4_t);
    		}
    	}
    	//牢记vector的下标从零开始! 
    	cout << "最小公倍数为:" << v4[0] << endl;
    	system("pause");
    	return 0;
    
    }
    

    运行结果
    在这里插入图片描述

    第一个帖子,将就看看吧,大学僧毕竟水平有限。。。

    展开全文
  • 最小公倍数则是【两数乘积】除【两数的最大公约数】 辗转相除法 假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的: 可以递归地定义求取a,b最小公约数的步骤 用大数a除小数b,得到...

    最大公约数使用【辗转相除法】求取
    最小公倍数则是【两数乘积】除【两数的最大公约数】

    辗转相除法

    假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:

    可以递归地定义求取a,b最小公约数的步骤

    1. 用大数a除小数b,得到余数c
    2. 用a除以余数c,得到新的小数 b1
    3. 将结果转化为求取 b 与 b1 的最小公约数
    4. 回到1

    递归边界条件:b为0,此时不能够除以一个为0的数了,返回a

    1997 / 615 = 3 (余 152)

    615 / 152 = 4(余7)

    152 / 7 = 21(余5)

    7 / 5 = 1 (余2)

    5 / 2 = 2 (余1)

    2 / 1 = 2 (余0)

    至此,最大公约数为1
    以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。

    代码实现

    #include <iostream>
    
    using namespace std;
    
    /*
    param a : 大数
    param b : 小数
    return  : a, b最大公约数 
    */
    int gcd(int a, int b)
    {
    	return ((b==0) ? (a) : (gcd(b, a%b)));
    }
    
    /*
    param a : 大数
    param b : 小数
    return  : a, b最小公倍数 
    */
    #define lcm(a, b) ((a*b)/gcd(a, b))
    
    int main()
    {
    	int a, b;
    	cin>>a>>b;
    	cout<<gcd(a, b)<<" "<<lcm(a, b)<<endl;
    
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • 求最大公因数和最小公倍数

    千次阅读 2011-09-04 11:12:42
    题目:求解三个整数的最大公因数和最小公倍数 1.最大公因数的求解  最大公因数定义:设A与B是不为零的整数,若C是A与B的因数,则C叫A与B的公因数,若干个公因数中最大的就是最大公因数。  方法:1.根据定义...
  • 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 ...
  • (C语言练习) 用函数来求最大公因数和最小公...//定义最大公因数的函数 int max_GongYinShu(int a,int b) { /*最大公因数的算法 用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余
  • C++代码如下: #include<bits/stdc++.h> using namespace std; int yue(int m,int n) { int r; r=m%n; while(r!=0) { m=n; n=r; r=m%n; } return n; } int main()...
  • 用三种方法求两个数的最大公因数和最小公倍数,求三个数的最大公因数和最小公倍数 该程序的代码为: package A; import java.util.Arrays; import java.util.Scanner; public class common { public static ...
  • 求n个数的最大公因数和最小公倍数

    千次阅读 2017-03-20 22:30:21
    这篇用三种方法求n个数的最大公因数,两种方法求n个数的最小公倍数 一.代码的完成 //求最大公因数和最小公倍数 //功能:用三种方法实现求n个数之间的最大公因数,两种方法求n个数之间的最小公倍数 //语言:C++ //...
  • C++实现--最大公因数和最小公倍数

    千次阅读 2018-05-03 22:15:18
    一丶 最大公因数求法: 辗转相除法(也称欧几里得算法)原理:二丶最小公倍数求法:两个整数的最小公倍数等于两整数之积除以最大公约数 C++ 代码实现 #include &lt;iostream&gt; using namespace std; //...
  • 最大公因数与最小公倍数

    千次阅读 2014-08-31 12:53:41
    今天给大家介绍一下,使用java编程,如何求解最大公因数和最小公倍数。 1、最大公因数: 首先,我们要来理解一下,什么叫做最大公因数?最大公因数,有称为最大公约数。在数学中,我们常定义为 指两个或多个...
  • 素数、最大公约数、最下公倍数、质因数分解都是与素数相关的,解决了素数的问题,其他的都可以此为基础求解。 小结: 求1到n之间的素数的基本方法是通过遍历2到sqrt(n),判断每个数是否是素数来得到,但这种方法...
  • 题目要求:求N个数的最大公约数和最小公倍数 二.题目背景 anks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。 今天在课堂上,老师...
  • 质数(素数)定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数。如2,3,5,7,11等等。 因数 如果a%b==0,则b是a的一个因数。 质因数 如果b是a的一个因数,同时b是一个质数,则b是a的一个质因数。 算术...
  • (提示,大的defgys(x,y):a,b=max(x,y),min(x,y)c=a%bifc==0:returnbelse:returngys(b,c)不行 你试试用python求俩个数的最大公约数和最小公倍数def fun(num1, num2): # 定义一个函数, 形参if num1 < num2...
  • 本文实例讲述了Python自定义函数实现求两个数最大公约数、最小公倍数。分享给大家供大家参考,具体如下:1. 求最小公倍数的算法:最小公倍数 = 两个整数的乘积 / 最大公约数所以我们首先要求出两个整数的最大公约数, ...
  • 什么是因数

    2021-06-16 09:57:26
    因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数。...事实上因数一般定义在整数上:设A为整数,B为非零整数,若存在整数Q,使得A=QB,则称B是A的因数,记作B|A。但是也有的作者
  • 1、首先我们要搞清楚最大公约数和最小公倍数的算法 要求计算的两数x、y 最大公约数:先找出x、y中较大的数充当被除数,较小的数充当除数,两者...//定义两个函数分别用来计算两个数的最大公约数和最小公倍数 #inc...
  • ①求因数 1200000有多少个约数(只计算正约数)。 /** * 1200000有多少个约数(只计算正约数)。 * * * 什么是约数? * 约数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有... //先定义一个数存储约
  • /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 11 月 24 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 定义函数 最大公约数与最小
  • //首先定义一下矩阵结构体,顺便把初始化的函数放在里面 struct mat { int m [ maxn ] [ maxn ] ; void init ( ) { memset ( m , 0 , sizeof ( m ) ) ; for ( int i = 0 ; i < maxn ; i ++ ...
  • 最大公约数和最小公倍数

    千次阅读 2019-02-28 20:28:29
    最大公因数定义: (最大公约数、最大公因子):指两个或多个整数共有约数中最大的一个。 最小公倍数定义: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。...
  • 文章目录算法中常见的数学问题最大公约数和最小公倍数最大公约数最小公倍数分数的四则运算分数的表示和化简分数的表示分数的化简分数的四则运算分数的输出素数素数的判断素数表的获取分解质因数 最大公约数和最小公...
  • 分解质因数

    千次阅读 2013-11-19 13:47:28
    之前就想写一篇关于分解质因数的文章,原因也是九度oj上有几道跟质因数分解有关的题目没有思路,这次找完工作学java的同时进行一些查缺补漏 原理&&方法 把一个合数分解为若干个质因数的乘积的形式,即求质因数的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,429
精华内容 2,171
关键字:

倍数因数的定义