/*
51nod 1116
題意大體是
乙個數在k進製下是(k-1)的倍數問k是幾
進製轉換
十進位制轉換成k進製的核心是
a5a4a3a2a1=a5*k^4+a4*k^3+a3*k^2+a2*k^1+a1*k^0
先把每一位轉換成十進位制下的數
如:7->7 a->10一樣
然後從個位開始乘以進製數加上下一位數
相當於把原來的數的進行如下操作:
for(int j=0; j='a'&&ch[j]<='z')
sum=sum*k+(ch[j]-'a'+10);
else
sum=sum*k+(ch[j]-'0');
}十進位制下字母對應的數值
a b c d e f g h i j k l m
10 11 12 13 14 15 16 17 18 19 20 21 22
n o p q r s t u v w x y z
23 24 25 26 27 28 29 30 31 32 33 34 35
*/#include
#include
#include
#include
#include
#include
#define ll long long
#define max 1000005
using namespace std;
int main()
int max;
if(maxn>='0'&&maxn<='9')
max=maxn-'0';
else
max=maxn-'a'+10;
int flag=0;
for(int k=max+1; k<=36; k++)
else
}if(sum == 0)
}if(!flag)
cout<<"no solution" } 1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏關注 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後... 1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後發現a1a... 1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後發現a1a...51NOD 1116 K進製下的大數
51nod1116 K進製下的大數
51 Nod 1116 K進製下的大數