思路:
這題有坑啊
(1)z表示36並不意味著只到36進製,最小2進製,最大進製=另乙個數的值
(2)可能會超時,用二分
(3)用long long!在二分過程中會溢位,所以要特判,當溢位時說明書過大,right=mid-1
**如下:
#include#include#include#include#include#include#include#include#define ll long long
using namespace std;
const int n=1005;
ll to_num(char c)
ll tra(string s,ll r)
return res;
}int main()
if(tra(b,left)==numa)printf("%lld\n",left);
else printf("impossible\n");
}
PAT1010 Radix(進製轉換)
分析 給定一對正整數,例如6和110,這個等式6 110是否為真?答案是 是 如果6是十進位制數,110是二進位制數的話。現在對於任意一對正整數n1和n2,你的任務是找到乙個數字的進製,而另乙個數字的進製是給定的。分析 修改了一下,現在是24 25。1 首先確定讓你判斷的數的進製,它的下限應該是自身...
A1010 進製轉換1
a1010.進製轉換1 時間限制 1.0s 記憶體限制 512.0mb 問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數...
pat 1010(二分 進製轉換)
pat 1010 思路 用確定的進製找不確定的進製,先求出已知進製的數字n1的10進製的結果sum,用longlong表示,接著確定n2的最小進製,遍歷n2陣列,找出最大的位數l。所以n2的進製在 l 1,sum 1 範圍內,這樣就可以用二分法求解了。include include include ...