程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> NYOJ 972 核桃的數量 (最小公倍數)

NYOJ 972 核桃的數量 (最小公倍數)

編輯:關於C++

題目描述

 

小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是: 1. 各組的核桃數量必須相同(前提是這組得有人) 2. 各組內必須能平分核桃(當然是不能打碎的) 3. 盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
輸入輸入包含三個整數a, b, c,表示每個組正在加班的人數,用空格分開(a,b,c<100)輸出輸出一個整數,表示要發核桃的數量。樣例輸入
2 4 5
3 1 1
樣例輸出
60
9

題目分析:

三個數的最小公倍數,乘以k(1~3),因為可以是有一組沒有人,就不進行分配,這一點剛開始沒有注意到,一直wa。注意這一點進行了。

 

AC代碼:

 

 
#include
#include
using namespace std;
int gcd(int n,int m){
    if(m==0||n==0) return 1;
    int sum=n*m;
    int r=n%m;
    while(r){
        n=m;
        m=r;
        r=n%m;
    }
    return sum/m;
}
int main()
{
    int a,b,c,k,s1;
    while(~scanf(%d%d%d,&a,&b,&c)){
        k=3; s1=1;
        if(a==0) k--;
        if(b==0) k--;
        if(c==0) k--;
        if(a) s1=gcd(a,s1);
        if(b) s1=gcd(b,s1);
        if(c) s1=gcd(c,s1);
        cout<

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved