2008年3月14日 星期五

Problem 10035 Primary Arithmetic,小學算術

簡單的數學加法題目,非常適合C語言初學者,做為入門學習用。題目要求每次讀入兩個整數,求出兩數相加的過程中,產生了多少的進位。這種進位的數量可以用來決定這兩數相加的題目困難度。我想小學生的數學老師或許用的到吧。
程式的重點部份如下。雖然範例的數字是相同位數,可是真正的測試應該會有不同吧。迴圈中的兩個數字num1,num2每次都取出個位數,然後看addOne是否有產生進位的情形,有就記錄起來。迴圈的執行在兩個數都為0時停止。
        while (num1!=0 || num2!=0)
{
d1 = num1 % 10;
d2 = num2 % 10;
num1 /= 10;
num2 /= 10;
addOne = (d1+d2+addOne)/10;
if (addOne==1)
count++;
}

p10035題目連結
回ACM題庫目錄
回首頁

1 則留言:

匿名 提到...

請問大大有這題題目的正解嗎~"~
因為我是用VB才寫出來,想看看C的寫法有什麼不同...感謝^_^