problem description
讀入兩個不超過25位的火星正整數a和b,計算a+b。需要注意的是:在火星上,整數不是單一進製的,第n位的進製就是第n個素數。例如:地球上的10進製數2,在火星上記為「1,0」,因為火星個位數是2進製的;地球上的10進製數38,在火星上記為「1,1,1,0」,因為火星個位數是2進製的,十位數是3進製的,百位數是5進製的,千位數是7進製的……
input
測試輸入包含若干測試用例,每個測試用例佔一行,包含兩個火星正整數a和b,火星整數的相鄰兩位數用逗號分隔,a和b之間有乙個空格間隔。當a或b為0時輸入結束,相應的結果不要輸出。
output
對每個測試用例輸出1行,即火星表示法的a+b的值。
sample input
1,0 2,14,2,0 1,2,0
1 10,6,4,2,1
0 0
sample output
1,0,11,1,1,0
1,0,0,0,0,0
ac**:
#include
#include
#include
#define max(a,b) (a>b?a:b)
int s=;
int main()
a[j++]=x; //要注意j++要放在if裡面,因為只有當是數字時才進行賦值,是','時不能進行賦值,先將結果存放在陣列a裡
}else //如果是字元的話就直接i++
i++;
}for(j=j-1,i=0;j>=0;j--,i++) //為了下面的大數加法方便,所以將a陣列中的整數倒過來賦值給陣列a1
for(j=0,i=0;i<=len2-1;) //對字串s2的處理同上
a[j++]=y;
}else
i++;
}for(j=j-1,i=0;j>=0;j--,i++)
for(i=0;i<=99;i++) //大數加法 }
for(i=99;i>=0&&a1[i]==0;i--); //除去前面不必要的0
for(;i>=1;i--) //因為輸入0 0時就結束了,所以就不用判斷i<0的情況了,直接將結果輸出
printf("%d\n",a1[0]);
}return 0;}
杭電OJ 1230 火星A B
problem description 讀入兩個不超過25位的火星正整數a和b,計算a b。需要注意的是 在火星上,整數不是單一進製的,第n位的進製就是第n個素數。例如 地球上的10進製數2,在火星上記為 1,0 因為火星個位數是2進製的 地球上的10進製數38,在火星上記為 1,1,1,0 因為火...
hdu 1230(火星A B,進製)
個人感覺如果進製轉換的話太麻煩,直接模擬加法,不同位數採用不同的進製加法。但是還是wa了兩次,沒有處理好餘數的問題,當不能進製時。2013 04 23 cpp include stdio.h include string.h include math.h int prime 25 cnt void ...
杭電2524 矩形A B
problem description 給你乙個高為n 寬為m列的網格,計算出這個網格中有多少個矩形,下圖為高為2,寬為4的網格.第一行輸入乙個t,表示有t組資料,然後每行輸入n,m,分別表示網格的高和寬 n 100 m 100 output 每行輸出網格中有多少個矩形.sample input 2...