题目1438:最小公倍数(利用最大公倍数求解)

题目链接:http://ac.jobdu.com/problem.php?pid=1438

详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus

参考代码:

//
//  1438 最小公倍数.cpp
//  Jobdu
//
//  Created by PengFei_Zheng on 10/04/2017.
//  Copyright © 2017 PengFei_Zheng. All rights reserved.
//

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <cmath>

using namespace std;

int gcd(int a, int b){
    if(b==0) return a;
    else return gcd(b,a%b);
}

int a, b;

int main(){
    while(scanf("%d%d",&a,&b)!=EOF){
        if(a==0 && b==0) break;
        printf("%d\n",a*b/gcd(a,b));
    }
}
/**************************************************************
    Problem: 1438
    User: zpfbuaa
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1520 kb
****************************************************************/
时间: 2024-12-17 02:21:04

题目1438:最小公倍数(利用最大公倍数求解)的相关文章

九度oj 题目1438:最小公倍数

题目1438:最小公倍数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2451 解决:2057 题目描述: 给定两个正整数,计算这两个数的最小公倍数. 输入: 输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. 输出: 对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行. 样例输入: 10 14 样例输出: 70 1 #include <iostream> 2 #include <cstdio> 3 #include <algori

ACM:归并排序,以及利用归并排序思想求解逆序对数!

(一)归并排序 分析: (1)划分问题:把序列分成元素个数尽量相等的两半. (2)递归求解:把两半元素分别排序. (3)合并问题:把两个有序表合并成一个.(每次只需要把两个序列的最小元素加以比较,删除其中的较小元素并加入合并后的新表) #include <iostream> using namespace std; const int MAXN = 1000; int A[MAXN], T[MAXN]; void merge_sort(int *A, int x, int y, int *T)

利用QR算法求解矩阵的特征值和特征向量

利用QR算法求解矩阵的特征值和特征向量 为了求解一般矩阵(不是那种幼稚到shi的2 x 2矩阵)的特征值. 根据定义的话,很可能需要求解高阶方程... 这明显是个坑...高阶方程你肿么破... 折腾了好久 1.我要求特征值和特征向量. 2.找到一种算法QR分解矩阵求解特征值 3.QR矩阵分解需要Gram-schimidt正交化分解 有一种很明显的感觉,往往在现在很难有 很系统 很深入 的学习某一个学科的某一门知识. 往往学的时候"靠,学这东西有什么用""学了这么久,也不知道怎么用,不想学" 到后

利用回溯法求解背包问题

最近看完了利用回溯法求八皇后问题,最后成功求解到92种解法,然后在看利用贪心求解背包问题,突然想到其实也可以利用回溯法求解背包问题,本质上回溯法是一个穷举的方式在求. 回溯法求解出的结果肯定是正确的,这也可以验证自己所写的贪心算法的正确性. 问题描诉: 设定Wmax为最大重量,W[](0~n-1)为编号0~n-1的货物重量,V[](0~n-1)为其价值,x[]为其中解, 在wn=ΣXi*Wi<Wmax的条件下,求Vmax=ΣXi*Vi. 代码如下: //全局变量最大价值int maxvalue=

hdu 4651 Partition (利用五边形定理求解切割数)

下面内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1] [2].欧拉函数的展开式例如以下: 亦即 欧拉函数展开后,有些次方项被消去,仅仅留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数. 当中符号为- - + + - - + + ..... 若将上式视为幂级数,其收敛半径为1,只是若仅仅是当作形式幂级数(formal power series)来考虑,就不会考虑其收敛半径. 和切割函数的关系

hdu 4651 Partition (利用五边形定理求解分割数)

以下内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描述欧拉函数展开式的特性[1] [2].欧拉函数的展开式如下: 亦即 欧拉函数展开后,有些次方项被消去,只留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数. 其中符号为- - + + - - + + ..... 若将上式视为幂级数,其收敛半径为1,不过若只是当作形式幂级数(formal power series)来考虑,就不会考虑其收敛半径. 和分割函数的关系 欧拉函数的倒

利用数据结构栈求解迷宫问题

本段程序主要利用数据结构栈的先进后出特点,实现回溯求解迷宫路径问题. #include<iostream> #include<stack> using namespace std; //坐标类 struct Point { int x; int y; }; //地图类 template<int A> struct Map { int (*p)[A]; int row;//行数 int col;//列数 }; //start起始点, end终止点 template<

题目1438:最小公倍数

时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: 给定两个正整数,计算这两个数的最小公倍数. 输入: 输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. 输出: 对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行. 样例输入: 10 14 样例输出: 70 解题思路:最小公倍数为两个数的乘积除以两个数的最大公约数 #include <iostream> #include<stdio.h> #include<string.h>

最小公倍数和最大公约数求解方法

1.利用辗转相除法求出最大公约数 2.得到最大公约数后,两数相乘除以最大公约数即的最小公倍数 function gcb(x,y){ if(y==0) return x; else return gcb(y,x%y); } function minAndMax(x,y){ var max=x>=y?gcb(x,y):gcb(y,x); var min=x*y/max return "最小公倍数:"+min+"\n最大公约数:"+max; } console.lo