大數問題之26進製轉化

2021-07-11 08:07:13 字數 1843 閱讀 4353

problem description

xyz-26進製數是乙個每位都是大寫字母的數字。a、b、c、…、x、y、z 分別依次代表乙個0 ~ 25 的數字,乙個 n 位的26進製數轉化成是10進製的規則如下

a0a1a2a3…an-1 的每一位代表的數字為a0a1a2a3…an-1 ,則該xyz-26進製數的10進製值就為 

m = a0 * 26^(n-1) + a1 * 26^(n-2) + … + an-3* 26^2 + an-2*26 + an-1 

一天vivi忽然玩起了浪漫,要躲在學校的乙個教室,讓楓冰葉子去找,當然,她也知道楓冰葉子可不是路痴,於是找到了xyz的小蝦和水域浪子幫忙,他們會在vivi藏的教室的門口,分別寫上乙個xyz-26進製數,分別為 a 和 b,並且在門鎖上設定了密碼。顯然,只有找到密碼才能開啟鎖,順利進入教室。這組密碼被xyz的成員稱為lovekey。慶幸的是,楓冰葉子知道lovekey是 a的10進製值與b的10進製值的和的xyz-26進製形式。當然小蝦和水域浪子也不想難為楓冰葉子,所以a 和 b 的位數都不會超過200位。

例如第一組測試資料 

a = 0 * 26^5+0* 26^4+ 0* 26^3+ 0 *26^2 + 3*26 + 7 = 85

b = 1*26^2 + 2*26 + 4 = 732

則 a + b = 817 = bfl

input

題目有多組測試資料。

每組測試資料報含兩個值均為的xyz-26進製數,每個數字的每位只包含大寫字母,並且每個數字不超過200位。

output

輸出xyz的lovekey,每組輸出佔一行。

sample input

aaaadh  bce

drw  uhd

d  aaaaa

sample output

bflxyz

d1;有人把這題歸為大數問題。可能是200位吧,然後就是26進製吧。但是這題並不能算做大數問題吧。因為我感覺我那ac**根本就是乙個找規律,字串型別的題目,不多說了,先說一下我的思路吧。

2;首先先看一下是26進製,還要注意一下從a到z;表示0到25.。a表示0;而a的asc碼表示的是65,所以就是字母減去65表示的就是我們理解的26進製的數字了。然後就是要研究一下它那個事列,解說事例1的步驟。就是在這裡面找出規律的。

3;規律;

aaaadh bce

543210210

然後把在0位的各自減去65後相加然後加是上65是不是對應著輸出結果的0位l。然而其他位也是,有人會不會問如果兩個數相加的結果大於了25那樣怎麼做呢?恩,就跟我們普通進製的加法一樣,達到數之後就是要進製的。看一下進製**吧;

if(s[k] > 25)elsel = 0;

這樣就可以完成進製了,

4說完了,可以擺**了。哦。還要注意一下輸出情況,如果剛開始全是a則不輸出的因為a在26進製中表示的是0;前導0肯定不輸出啊,因此要設定判斷一下,詳情看**吧;

#include

#include

int main()

k = 0;

l = 0;

for(i = lena-1,j = lenb-1; j != -1; i--,j--)

else

l = 0;

k++;

}for( ; i != -1; i--)

else

l = 0;

k++;

}if(l != 0)

flag = 1;

for(i = k-1; i != -1; i--)

printf("%c",s[i]+65);

flag = 0;

}printf("\n");

}return 0 ;

}

大數問題 26進製

杭電2100lovekey problem description xyz 26進製數是乙個每位都是大寫字母的數字。a b c x y z 分別依次代表乙個0 25 的數字,乙個 n 位的26進製數轉化成是10進製的規則如下 a0a1a2a3 an 1 的每一位代表的數字為a0a1a2a3 an 1...

大數進製轉化 通過位移

僅突出運算,資料長度可根據需要擴充套件 在運算環境不支援long long時編寫 函 數 名 bcd2hex 功 能 六個位元組的壓縮bcd碼轉換成十六進製制 說 明 適用於linux以及微控制器,vs環境待測試 引數 bcd 6 待轉換資料 hexa 8 十六進製制 int bcd2hexa un...

萌新必遇進製轉化問題,任意進製轉化

輸入進製 10 輸入數字 15 輸入進製 16 輸出數字 f 此題目其實就是將乙個任意進製先轉化為十進位制,然後將其轉化為對應的進製,很多人一開始都是想這如何讓計算機計算機直接識別我輸入的是幾進製,因為有縣里嘛,計算機能夠自主識別我輸入的是八進位制或十六進製制,比如我在輸入的數字前加0,系統就知道我...