51Nod 1116 進製轉換

2021-08-14 22:41:31 字數 1286 閱讀 4631

/*

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"

}

51NOD 1116 K進製下的大數

1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏關注 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後...

51nod1116 K進製下的大數

1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後發現a1a...

51 Nod 1116 K進製下的大數

1116 k進製下的大數 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個字串s,記錄了乙個大數,但不知這個大數是多少進製的,只知道這個數在k進製下是k 1的倍數。現在由你來求出這個最小的進製k。例如 給出的數是a1a,有a則最少也是11進製,然後發現a1a...