學(xué)習(xí)筆記--2028

  1. OJ 2028 Lowest Common Multiple Plus
    鏈(http://acm.hdu.edu.cn/showproblem.php?pid=2028)

問(wèn)題描述:求n個(gè)數(shù)的最小公倍數(shù)。

Input:輸入包含多個(gè)測(cè)試實(shí)例,每個(gè)測(cè)試實(shí)例的開(kāi)始是一個(gè)正整數(shù)n,然后是n個(gè)正整數(shù)。

Output:為每組測(cè)試數(shù)據(jù)輸出它們的最小公倍數(shù),每個(gè)測(cè)試實(shí)例的輸出占一行。你可以假設(shè)最后的輸出是一個(gè)32位的整數(shù)。

2.思路:
一看到題的第一想法就是用一位數(shù)組把要求計(jì)算的數(shù)據(jù)裝進(jìn)去,然后再對(duì)它進(jìn)行遍歷窮舉??蚣芎苋菀拙蛯?xiě)出來(lái)了,就是算法部分不知道怎么操作怎么進(jìn)行遍歷。因?yàn)檫@題不像普通的只求兩個(gè)數(shù)的最小公倍數(shù),而是變化的數(shù)據(jù)個(gè)數(shù),那我們熟悉的兩個(gè)數(shù)的輾轉(zhuǎn)相除法、輾轉(zhuǎn)相減法、窮舉法都沒(méi)有用了。由于算法經(jīng)驗(yàn)不是很足,想了很久一直沒(méi)有想到什么解決的辦法。通過(guò)去討論區(qū)觀摩學(xué)習(xí)了大佬的思路后,成功把問(wèn)題解決了。

3.收獲與總結(jié):

在一開(kāi)始提交的時(shí)候出現(xiàn)了Compilation Error,是最開(kāi)始弄框架的時(shí)候數(shù)組的定義上出了問(wèn)題,貪圖方便直接讓數(shù)組大小讓n取代。
image.png

后來(lái)想到了求最大公倍數(shù)時(shí),是從i=1開(kāi)始遍歷的,而i可以取到n這個(gè)值(如果簡(jiǎn)單地循環(huán)for(i=0;i<n;i++)會(huì)因?yàn)閕的最初值是0而影響到后面計(jì)算最小公倍數(shù)的結(jié)果)。但是數(shù)組的定義并不能取到num[n],會(huì)導(dǎo)致數(shù)組溢出,所以報(bào)錯(cuò)了。而直接定義實(shí)際范圍給該數(shù)組。
image.png

通過(guò)學(xué)習(xí),知道了另一種更好用的計(jì)算最小公倍數(shù)的算法。
除了去討論區(qū),后來(lái)再去看了一下別人的筆記,發(fā)現(xiàn)他順利的實(shí)現(xiàn)了我一開(kāi)始想的方法,也明白了靈活運(yùn)用循環(huán)的重要性,他的辦法是在原本兩個(gè)數(shù)的窮舉法基礎(chǔ)上套了
個(gè)循環(huán)每次單獨(dú)求兩個(gè)數(shù)的最小公倍數(shù),然后再用求到的最小公倍數(shù)跟后面的數(shù)繼續(xù)比較,周而復(fù)始。
4.經(jīng)過(guò)學(xué)習(xí)后的源代碼:

#include<stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    { 
        int a=0;
        int num[100]; 
        for(int i=1;i<=n;i++){
        scanf("%d",&num[i]);
        if(a<num[i])a=num[i];   
        }
        for(int i=1;i<=n;i++){
            if(a%num[i]!=0){
                a++;
                i=0;
            }
        }
        printf("%d\n",a);
    }
    return 0;
 } 
 

5.運(yùn)行結(jié)果:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.簡(jiǎn)述如何安裝配置apache 的一個(gè)開(kāi)源的hadoop 1.使用root賬戶登陸 2.修改ip 3.修改hos...
    梔子花_ef39閱讀 5,068評(píng)論 0 52
  • 第一章數(shù)和數(shù)的運(yùn)算 一概念 (一)整數(shù) 1整數(shù)的意義 自然數(shù)和0都是整數(shù)。 2自然數(shù) 我們?cè)跀?shù)物體的時(shí)候,用來(lái)表示...
    meychang閱讀 2,844評(píng)論 0 5
  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類(lèi)型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來(lái)閱讀 4,040評(píng)論 0 2
  • 同窗三載,相識(shí)如初,離別在即,恨不能遠(yuǎn)送,昔日情懷,誓必珍藏;期來(lái)日重逢之時(shí),還與卿意,言語(yǔ)至此,珍重。
    冷秋靜閱讀 224評(píng)論 0 0
  • 愛(ài)。 暖而冷。 我望你時(shí)暖。 不見(jiàn)你時(shí)冷。 冬。 快到了。 白雪皚皚。 凈著世界。 我。 在窗上呵出一口氣。 用指...
    司才林閱讀 352評(píng)論 4 14

友情鏈接更多精彩內(nèi)容