截木棍(最大公約數)

2021-07-05 13:16:50 字數 769 閱讀 2251

有n(n<=100)條木棍,每條長度是不超過1 000 000的整數,現將他們截成長度相等的小段。要求:每根長度都不許浪費,且截成的小段要最長。

問題:求截後每段小木棍的最大長度?一共截成了多少段小木棍?

【輸入】

第一行,n,表示長木棍的條數。

以下n個用空格隔開的整數,表示長木棍的長度。

【輸出】

第一行,擷取的小木棍的最大長度。

第二行,截成的小木棍一共有多少段。

【樣例輸入輸出】

b.in

b.out

418 12 24 30614

樣例說明:有4段長木棍,長度分別為18,12,24,30。可以截成最大長度為6的小段,共截成了14段。

**實現:

#include

int knap(int i,int j)//輾轉相除法求最大公約數

else

c=a%b;

while(c!=0)

return b;

}int main()

k=a[1];

sum=a[1];

for(i=2;i<=s;i++)

sum=sum/k;

freopen("b.out","w",stdout);//將輸出結果寫入到b.out中

printf("%d\n%d\n",k,sum);

return 0;

}注意:需要在工程資料夾下建立b.in用於讀取輸入資料,**執行後輸出結果不再控制台顯示,而是儲存到工程資料夾下的b.out檔案中。

最大公約數

1.執行最大公約數的常用演算法,並新增異常處理模組 如輸入非法等 在基礎程式的基礎上,可以考慮手動輸入所有數字或者利用隨機數產生數字,分別加入異常處理模組。注 隨機數的產生方法 srand 的作用是提供乙個種子。然後呼叫rand 其格式為int rand void 它會根據提供給srand 的種子值...

最大公約數

最大公因數 greatest common divisor 也稱最大公約數 最大公因子,指兩個或多個整數共有約數中最大的乙個。a,b的最大公約數記為 a,b 同樣的,a,b,c的最大公約數記為 a,b,c 多個整數的最大公約數也有同樣的記號。求最大公約數有多種方法,常見的有質因數分解法 短除法 輾轉...

最大公約數

求兩數的最大公約數 簡單嗎?簡單!用多種方法求,可以嗎?emmmmm.應該可以吧?相信絕大多數人都知道求最大公約數的如下 所示的這種方法 include includeint commondivisor int x,int y min return min int main 先判斷兩個數的大小,將較...