pat-1010
思路:用確定的進製找不確定的進製,先求出已知進製的數字n1的10進製的結果sum,用longlong表示,
接著確定n2的最小進製,遍歷n2陣列,找出最大的位數l。
所以n2的進製在(l+1,sum+1)範圍內,這樣就可以用二分法求解了。
#include#include#include#includeusing namespace std;
typedef long long ll;
ll num(char ch)
ll change(string ss,ll radix)
{ int len=ss.length(),i,j;
ll ans=0;
for(i=0;i>n1>>n2>>tag>>radix;
if(tag==2) sp(n1,n2);
ll tp,l=0,sum=change(n1,radix),r,mid;
for(i=0,len=n2.length();i>1;
tp=change(n2,mid);
if(tp==-1||tp>sum) r=mid-1;
else if(tp參考文章
PAT A1010 二分進製結合重點題
這道題而可以說是比較難的一道題,如果採用常規遍歷,會出現時長或者溢位的問題 示例中給出的思路很值得借鑑 個人通過該示例有以下幾個不同理解 1.有時候兩個不同進製的數對比,我們可以進行進製,轉化十進位制來進行比較 2.對於有些列舉或者尋找問題,為了不進行列舉遍歷,我們應該第一時間想到二分查詢 對於第一...
PAT A1010 二分進製結合重點題
這道題而可以說是比較難的一道題,如果採用常規遍歷,會出現時長或者溢位的問題 示例中給出的思路很值得借鑑 個人通過該示例有以下幾個不同理解 1.有時候兩個不同進製的數對比,我們可以進行進製,轉化十進位制來進行比較 2.對於有些列舉或者尋找問題,為了不進行列舉遍歷,我們應該第一時間想到二分查詢 對於第一...
PAT1010 Radix(進製轉換)
分析 給定一對正整數,例如6和110,這個等式6 110是否為真?答案是 是 如果6是十進位制數,110是二進位制數的話。現在對於任意一對正整數n1和n2,你的任務是找到乙個數字的進製,而另乙個數字的進製是給定的。分析 修改了一下,現在是24 25。1 首先確定讓你判斷的數的進製,它的下限應該是自身...