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);
留言
張貼留言