poj不提供後台的測試資料,但是這道題的測試資料很可能包含:
10.0
0.01.1
0.1這類資料。
實現的方法:
1、先實現長整數的乘法(不細說)
2、在實現在結果中新增小數點:分三種情況,小數字數k=0,k<=整數數字m,k>m。
心得:這道題不要太計較程式的速度,因為資料的量相比計算機的計算能力還是較小的。
因此可以多運用string函式庫中的諸如insert、erase看似效率低的函式,簡化實現難度,還是可以過的。
長整數乘法的過程中先將字元轉變為數字,中間資料用字元來儲存會造成溢位。
#include #include #include #include #include using namespace std;
string dajiaxiao(string a, string b)
for (int i = 1; i < a.size(); i++)
} if (a[0] > '9')
return a;
}string jia(string a, string b)
string dachengxiao(string a,string b)
for (int j = a.size() - 1; j > 0; j--)
if (a[0] > 9)
for (int j = 0; j < a.size(); j++)a[j] += '0';
tmp = jia(tmp, a);
aa=aa + '0';
a = aa;
} //cout << "tmp " << tmp << endl;
return tmp;
}string cheng(string a, string b)
int main()
for (int i = 0; i < num.size(); i++)
else break;
} int k = 0;
for (int i = num.size()-1; i >=0; i--)
else k++;
} if (num == "")num = "0";
string num2 = num;
for (int i = 1; i < lev; i++)
k *= lev;
if (k == 0)
else if (k <= num2.size())
else if (k > num2.size())
} return 0;
}
POJ 百練 1088 滑雪
時間限制 1000ms 記憶體限制 65536kb 描述 michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表...
poj 百練2785 武林
總時間限制 1000ms 記憶體限制 65536kb 描述 在乙個有12行12列的方形的武林世界裡,少林 武當和峨嵋三派的 們在為獨霸武林而互相廝殺。武林世界的第一行的一列格仔的座標是 1,1 第一行第二列座標是 1,2 右下角的座標為 12,12 如圖 少林派 總是在同一列回不停地行走。先往下走,...
poj 百練 2801填詞
總時間限制 1000ms 記憶體限制 65536kb 描述 alex喜歡填詞遊戲。填詞是遊戲是乙個非常簡單的遊戲。填詞遊戲包括乙個n m大小的矩形方格盤和p個單詞。玩家需要把每個方格中填上乙個字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件 每個方格都不能同時屬於超過乙個的單詞。...