大整數問題

2021-09-22 13:20:07 字數 706 閱讀 5003

題目描述:有乙個k(1≤k≤80)位的十進位制正整數n,設計乙個程式,找到滿足條件:p3+ p2+3p≤n的p的最大值。

測試用例:

輸入:1000000000000001000000000000003000000000000001

輸出:100000000000000

複製**

#include

#include

using namespace std;

#include "decnum.h"

decnum n,p;

int k;

char succ(char num)

else

++num;

return num; }

char pred(char num)

bool isok(const char* temp,int size)

return true; }

void search()

temp[i] = '\0';

for (i=0;i }

while(isok(temp,k));

//回退到前一位合法值

temp[i] = pred(temp[i]); }

//輸出結果

p = decnum(temp,k);

cout<}

int main()

複製**

大整數 問題

高精度除法 利用了 減法 原理 例如 a 13455 除以 b 3 先把 3 增大為 30000 不夠減 右移一位 變為 3000 這樣不斷的減 直到 不夠減 為 1456 則 可知 商的 千位 為 4 因為 3000 是 3 的 1000倍 這樣 3000 在右移一位 300 依此類推 得到 百位...

大整數相乘問題

先把好的部落格貼上 明天再說。include include includeusing namespace std string型別轉換成int型別 long string to num string str 整形數轉換為string型別 string num to string int intva...

大整數約數問題

來自kuangbin的acm模板 大整數約數和 poj 1845 sumdiv 求a b的所有約數之和 9901 大整數的約數和 三個問題 1.約數和結論 對於乙個大整數n,他的因數分解式為 a1 x1 a2 x2 a3 x3 那麼約數和 sum 1 a1 a1 2 a1 x1 1 a2 a2 2 ...