cometoj——C1970 雷神的飯量

題目描述

手刃仇敵後,雷神索爾每日不思進取,飯量激增,他的飯量已經達到了不可想象的地步。索爾每天都要喫n頓飯,但是他有一個怪癖就是喫飯前會算一下自己該喫多少飯。(喫個飯也要這麼講究,不愧是雷神啊!)

他是這樣說的,我喫飯前需要翻開自己的筆記,我需要知道我前兩次喫過的飯量,因爲這次的飯量應該是前兩次的飯量的公倍數,但是我怕我怕太胖,我又不能喫的特別多,所以我只喫前兩次飯量的最小公倍數飯量就好。然後我繼續記錄下來,以便下次喫飯的時候查看。

可惜粗心的索爾還是在一次喫飯中忘記帶自己的筆記本了,但是他清楚的記得自己第一次和第二次喫飯時候的飯量分別爲N,M,他想知道第T頓飯的此時應該喫多少?(第T頓飯不包含第一次和第二次的飯量)請你來幫幫索爾算一算這頓應該喫多少吧!

注意:T=1,表示你只需要計算一次。
輸入描述

輸入一行包含三個變量,第一次的飯量N,第二次的飯量M,第T頓飯。輸入的數均不超過unsigned long long。

輸出描述

輸出第T頓飯的飯量是多少呢?

注意:(第T頓飯不包含第一次和第二次的飯量,輸出數據保證不超過unsigned long long)

樣例輸入 1

2 3 1
樣例輸出 1

6
樣例解釋 1

由於T爲1,且數字2,3的最小公倍數是6,則進行一次最小公倍數計算所得結果爲6。

樣例輸入 2

3 5 2
樣例輸出 2

15

思路:
這題想了好久,但是最後的幾個樣例還是沒過。


import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner read = new Scanner(System.in);
		String[] str = read.nextLine().split(" ");
		BigInteger a;
		BigInteger b;
		BigInteger count = new BigInteger(str[2]);
		BigInteger answer;
		a = new BigInteger(str[0]);
		b = new BigInteger(str[1]);
		if(a.compareTo(BigInteger.ZERO)==0 || b.compareTo(BigInteger.ZERO)==0)
		{
			System.out.println(0);
		}
		else
		{
			answer = a.multiply(b).divide(a.gcd(b));
			System.out.println(answer);
		}
		read.close();
	}
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章