#UVa:10035-Primary Arithmetic

灆洢 2011-11-29 21:49:07

將輸入的兩個數字的每個位數分開來加加看,記得也要加上前一位數的進位值,這樣就可以做完這題了。

C++(0.044)

/*******************************************************/
/* UVa 10035 Primary Arithmetic                        */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2011/11/29                                 */
/*******************************************************/
#include<iostream>
#include<cstdio>
using namespace std;

int main(){
  int add1, add2, carry, count;
  while( scanf( "%d%d", &add1, &add2 ) != EOF && (add1 || add2) ){
    carry = 0;
    count = 0;
    while( add1 || add2 ){
      carry = add1%10 + add2%10 + carry;
      carry /= 10;
      add1 /= 10;
      add2 /= 10;
      if( carry )
        count++;
    }
    if( count == 1 )
      printf( "1 carry operation.\n" );
    else if( count > 1 )
      printf( "%d carry operations.\n", count );
    else
      printf( "No carry operation.\n" );
  }
  return 0;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料