UVA11388GCD LCM
生活随笔
收集整理的這篇文章主要介紹了
UVA11388GCD LCM
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 輸入兩個整數G,L,找出兩個正整數a,b使得gcd(a ,b)=G,lcm(a ,b)=L,如果有多組解,輸出最小的a的那組,如果沒解,輸出-1。
思路:
? ? ? 比較簡單,如果L%G!=0那么就沒解,否則既然要輸出最小的a,那么就直接輸出G,L就行了,a=G的時候最小,同時b=L的話可以保證最小公倍數是L。
#include<stdio.h>
int main ()
{
? ? long long a ,b ,t;
? ? scanf("%lld" ,&t);
? ? while(t--)
? ? {
? ? ? ? scanf("%lld %lld" ,&a ,&b);
? ? ? ? if(b % a)
? ? ? ? {
? ? ? ? ? ? printf("-1\n");
? ? ? ? ? ? continue;
? ? ? ? }
? ? ? ? printf("%lld %lld\n" ,a ,b);
? ? }
? ? return 0;
}
? ? ? 輸入兩個整數G,L,找出兩個正整數a,b使得gcd(a ,b)=G,lcm(a ,b)=L,如果有多組解,輸出最小的a的那組,如果沒解,輸出-1。
思路:
? ? ? 比較簡單,如果L%G!=0那么就沒解,否則既然要輸出最小的a,那么就直接輸出G,L就行了,a=G的時候最小,同時b=L的話可以保證最小公倍數是L。
#include<stdio.h>
int main ()
{
? ? long long a ,b ,t;
? ? scanf("%lld" ,&t);
? ? while(t--)
? ? {
? ? ? ? scanf("%lld %lld" ,&a ,&b);
? ? ? ? if(b % a)
? ? ? ? {
? ? ? ? ? ? printf("-1\n");
? ? ? ? ? ? continue;
? ? ? ? }
? ? ? ? printf("%lld %lld\n" ,a ,b);
? ? }
? ? return 0;
}
總結
以上是生活随笔為你收集整理的UVA11388GCD LCM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA10943简单递推
- 下一篇: UVA11889(给出lcm(A,B)=