SQL 26字母進製SQL

2021-06-18 00:08:47 字數 1185 閱讀 3666

--輸入表示式

declare @expression nvarchar(max)

set @expression='aa'

--需要加多少位

declare @count int

set @count = 0

---------------------

--字母表示式長度

declare @length int

set @length = len(@expression)

--轉為10進製後的數字

declare @charvalue int

set @charvalue =0

--迴圈每個字母位轉為10進製

while @length > 0

begin

set @charvalue += (ascii(substring(@expression,@length,1))-64)*power(26,@length-1)

set @length -=1

end--10進製加法

set @charvalue += @count

--新的字元表示式位數

declare @newcharlength int

--計算加完後的十進位制轉為字母26進製的位數

set @newcharlength = log(@charvalue)/log(26)

--加完後表示式

declare @newchar nvarchar(max)

set @newchar = ''

while @newcharlength >= 0

begin

declare @indexnum int

set @indexnum = @charvalue/power(26,@newcharlength)

set @newchar += substring('abcdefghijklmnopqrstuvwxyz', @indexnum,1)

select @charvalue,power(26,@newcharlength),@indexnum

set @charvalue -= @indexnum * power(26,@newcharlength)

set @newcharlength -= 1

endselect @newchar

241 字母統計

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 現在給你乙個由小寫字母組成字串,要你找出字串中出現次數最多的字母,如果出現次數最多字母有多個那麼輸出最小的那個。輸入第一行輸入乙個正整數t 0 輸出每組資料輸出佔一行,輸出出現次數最多的字元 樣例輸入 3 abcd bbaa j...

1013 字母排列

時間限制 10 sec 記憶體限制 128 mb 提交 247 解決 148 提交 狀態 討論版 編寫乙個程式,當輸入不超過200個字元組成的英文文字時,計算機將這個句子中的字母按英文本典字母順序重新排列,排列後的單詞的長度要與原始句子中的長度 相同。例如 輸入 輸出 並且要求只對 到 的字母重新排...

848 字母移位

有乙個由小寫字母組成的字串s,和乙個整數陣列shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及shift z a 對於每個shifts i x,我們會將s中的前i 1個字母移位x次。返回將所有這些移位都...