杭電2100lovekey
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
bfl
xyz
d1;有人把這題歸為大數問題。可能是200位吧,然後就是26進製吧。但是這題並不能算做大數問題吧。因為我感覺我那ac**根本就是乙個找規律,字串型別的題目,不多說了,先說一下我的思路吧。
2;首先先看一下是26進製,還要注意一下從a到z;表示0到25.。a表示0;而a的asc碼表示的是65,所以就是字母減去65表示的就是我們理解的26進製的數字了。然後就是要研究一下它那個事列,解說事例1的步驟。就是在這裡面找出規律的。
3;規律;
aaaadh bce
543210 210
然後把在0位的各自減去65後相加然後加是上65是不是對應著輸出結果的0位l。然而其他位也是,有人會不會問如果兩個數相加的結果大於了25那樣怎麼做呢?恩,就跟我們普通進製的加法一樣,達到數之後就是要進製的。看一下進製**吧;
if(s[k] > 25)else l = 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進製轉化
problem description xyz 26進製數是乙個每位都是大寫字母的數字。a b c x y z 分別依次代表乙個0 25 的數字,乙個 n 位的26進製數轉化成是10進製的規則如下 a0a1a2a3 an 1 的每一位代表的數字為a0a1a2a3 an 1 則該xyz 26進製數的1...
進製轉換問題 例如把26進製轉為10進製
問題 a z表示0 25,代表26進製,現在要求把該26進製轉為10進製 例如 輸入 ba 輸出 26 它可以表示為 2 10 3 0 10 2 3 10 1 9 10 0 那麼任何進製的數都一樣,例如16進製制數8a30e 它就是8 16 4 10 16 3 3 16 2 0 16 1 14 16...
關於26進製題目
l1 050 倒數第n個字串 15 分 給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串...