vijos P1047最小公倍数

描述

给出两个正整数a,b(1<=a,b<=10^100),求这两个数的最小公倍数。

格式

输入格式

仅一行,包含两个正整数a和b, 中间以一个空格隔开

输出格式

仅包含一行,为a和b的最小公倍数lcm(a,b)

样例1

样例输入1[复制]

123 321

样例输出1[复制]

13161
import java.util.*;

import java.math.BigInteger;

public class Main{

    public static void main(String[] args){
 Scanner cin=new  Scanner(System.in);

  BigInteger a=cin.nextBigInteger();
  BigInteger b=cin.nextBigInteger();
  BigInteger n=a.gcd(b);
  a=a.multiply(b);
  a=a.divide(n);
  System.out.println(a);
    }

}
时间: 2024-12-24 05:26:02

vijos P1047最小公倍数的相关文章

HDU 1108: 最小公倍数

最小公倍数 #include<iostream> using namespace std; int gcd(int a, int b) { while (b) { int t = a%b; a = b; b = t; } return a; } int lcm(int a, int b) { return a / gcd(a, b)*b; } int main() { ios::sync_with_stdio(false); int a, b; while (cin >> a &g

Vijos P1066 弱弱的战壕【多解,线段树,暴力,树状数组】

弱弱的战壕 描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b. mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了?!?”永恒[email protected][email protected]). 但是,战壕有一个弱点,就是只能攻击它的左下方,说白了就是横纵坐标都不大于它的点(mx:“我的战壕为什么这么菜”ToT).这样,永恒就可以从别的地方进攻摧毁战壕,从而消灭mx的部队. 战壕都有一个保护范围,同它的攻击

辗转相除法 求最大公约数和最小公倍数

# include<stdio.h> int main() { int a,b,c,x,y; printf("请输入两个正整数,用逗号间隔:"); scanf("%d,%d",&a,&b); x=a; y=b; if (a<b) { c=a; a=b; //要保证 a>b b=c; } while (b!=0) { c=a; a=b; b=c%b; } c=x*y/a; printf("最大公约数为%d,最小公倍数为

luoguP1029 最大公约数和最小公倍数问题 [gcd][数论]

题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为最大公约数,以y0为最小公倍数. 试求:满足条件的所有可能的两个正整数的个数. 输入输出格式 输入格式: 二个正整数x0,y0 输出格式: 一个数,表示求出满足条件的P,Q的个数 输入输出样例 输入样例#1: 3 60 输出样例#1: 4 说明 P,Q有4种 3 60 15 12 12 15 60 3 先考虑

Vijos P1785 同学排序【模拟】

同学排序 描述 现有m位同学,第1位同学为1号,第2位同学为2号,依次第m位同学为m号.要求双号的学生站出来,然后余下的重新组合,组合完后,再次让双号的学生站出来,重复n次,问这时有多少同学出来站着? 样例1 样例输入1 1989 5 样例输出1 1926 限制 1s 提示 [数据范围] 1≤n≤10 100≤m≤100000 题目链接:https://vijos.org/p/1785 分析:站出序号为偶数的人,如果总人数为奇数,剩余人数向上取整再折半就好了! 下面给出AC代码: 1 #incl

poj3101--Astronomy(分数的最小公倍数)

题目链接:点击打开链接 题目大意:有n个行星,给出每个行星的旋转的周期.问最少多少时间后n个行星会在一条直线上,初始点在一起,不存在全部的行星都有同一个周期 如果A行星的周期是t1.B行星的周期是t2(t2>t1),要在一条直线上,一定会执行的相差半个周期的倍数,时间(t/t2 - t/t1) % (1/2) = 0.也就是t*(t1-t2)/(t1*t2)%(1/2) = 0,要是时间最小.所以也就是差出一个半周期.也就是t = (t2-t1)/(t2*t1*2)这个t也就是A.B执行到一条直

最大公约数和最小公倍数

输入两个正整数m和n求最大公约数和最小公倍数. #include <stdio.h> int main() { int m, n; printf("请输入你要计算的两个数:"); scanf("%d %d", &m, &n); printf("最大公约数是:"); printf("%d\n", get_max_common_measure(m, n)); printf("最小公倍数是:&q

Vijos 1057 盖房子

二次联通门 : Vijos 1057 盖房子 /* Vijos 1057 盖房子 简单的dp 当前点(i, j)所能构成的最大的正方形的边长 为点(i - 1, j - 1)与(i, j - 1), (i - 1, j)三点中最小的边长构成.. 一遍递推, 一边取最大即可 */ #include <cstdio> #define Max 1009 inline int min (int a, int b) { return a < b ? a : b; } inline int max

Vijos 1193 扫雷 【动态规划】

扫雷 描述 相信大家都玩过扫雷的游戏.那是在一个n*n的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,"余"任过流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和他8连通的格子里面雷的数目.现在棋盘是n*2的,第一列里某些格子是雷,而第二列没有雷,如:o 1* 2* 3* 2o 2* 2* 2 ('*'代表有雷,'o'代表无雷)由于第一类的雷有可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息求第一列雷有多少中摆放方案.