UVa 10035 Primary Arithmetic
解題策略
計算兩數相加總共需要多少次進位,用一般大數加法的技巧,數一下進位次數就行了。//big number a + b
int carry_count = 0;
for(int i=0;i<MAX_LEN;++i) {
a[i] = a[i] + b[i];
if( a[i] > 9 ){
a[i] = a[i] - 10;
a[i+1]++;
carry_count++; //數數進位幾次...
}
}
注意
輸出時要注意名詞的單複數,總共有三個狀況0、1、其他,別忘了判斷喔。if(carry_count == 0)
printf("No carry operation.\n");
else if (carry_count == 1)
printf("1 carry operation.\n");
else
printf("%d carry operations.\n", carry_count);
留言
張貼留言