關鍵字:浮點數加法,可以用字串處理一下,轉換成大整數加法
題目:
求2個浮點數相加的和 題目中輸入輸出中出現浮點數都有如下的形式: p1p2…pi.q1q2…qj 對於整數部分,p1p2…pi是乙個非負整數 對於小數部分,qj不等於0
輸入描述:
對於每組案例,每組測試資料佔2行,分別是兩個加數。
輸出描述:
每組案例是n行,每組測試資料有一行輸出是相應的和。
輸出保證一定是乙個小數部分不為0的浮點數
示例1
輸入 0.111111111111111111111111111111
0.111111111111111111111111111111
輸出 0.222222222222222222222222222222
**:
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 1010;
int main(), d2[maxn] = , f1[maxn] = , f2[maxn] = , sumf[maxn] = , sumd[maxn] = , tmp[maxn] = ;
int len1 = s1.length(), len2 = s2.length();
int d1cnt = 0, d2cnt = 0, f1cnt = 0, f2cnt = 0;
for(i = 0; i < len1; ++i)
for(j = 0; j < i; ++j)
for(++i; i < len1; ++i)
for(i = 0; i < len2; ++i)
for(j = 0; j < i; ++j)
for(++i; i < len2; ++i)
// 計算小數部分
int maxl2 = max(f1cnt, f2cnt);
int carry = 0;
for(i = maxl2 - 1; i >= 0; --i)
// 計算整數部分
int maxl1 = max(d1cnt, d2cnt);
for(i = 0; i < maxl1; ++i)
if(carry > 0)
for(i = maxl1 - 1; i >= 0; --i)
cout
<< ".";
for(i = 0; i < maxl2; ++i)
cout
<< endl;
}}
浮點數加法 北京大學
題目鏈結 54.87 674.92 首先用字串讀入,把整數部分z和小數部分x分開存放在陣列中,並記錄長度zl和xl 首先將小數部分相加,從後往前加 然後保留進製carry。整數部分先逆序變成 45 476然後從前往後加,注意加到最大長度後,需要判斷進製carry是否為0,不為0時,還需要進製。最後輸...
考研機試真題 吃糖果 北京大學
關鍵字 動態規劃 遞推求解 斐波那契數列 題目描述 名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有...
考研機試真題 合唱隊形 北京大學
關鍵字 動態規劃 最長不下降子串行 題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 t...