2017蓝桥杯省赛---java---C---7 Excel地址)
生活随笔
收集整理的這篇文章主要介紹了
2017蓝桥杯省赛---java---C---7 Excel地址)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
Excel單元格的地址表示很有趣,它使用字母來表示列號(hào)。 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, …當(dāng)然Excel的最大列號(hào)是有限度的,所以轉(zhuǎn)換起來不難。 如果我們想把這種表示法一般化,可以把很大的數(shù)字轉(zhuǎn)換為很長(zhǎng)的字母序列呢?本題目既是要求對(duì)輸入的數(shù)字, 輸出其對(duì)應(yīng)的Excel地址表示方式。例如, 輸入:26 則程序應(yīng)該輸出:Z再例如, 輸入:2054則程序應(yīng)該輸出:BZZ我們約定,輸入的整數(shù)范圍[1,2147483647]資源約定: 峰值內(nèi)存消耗(含虛擬機(jī)) < 256M CPU消耗 < 1000ms請(qǐng)嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請(qǐng)您輸入…” 的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過后,拷貝提交該源碼。 不要使用package語句。不要使用jdk1.7及以上版本的特性。 主類的名字必須是:Main,否則按無效代碼處理。思路分析
代碼實(shí)現(xiàn)
package TEST;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input=new Scanner(System.in);int target=input.nextInt();char []ans=new char[1000000];int index=0;while(target>0){int temp=target%26;if(temp==0){//需要進(jìn)位ans[index++]='Z';target=(target-26)/26;}else {//不需要進(jìn)位ans[index++]=(char)('A'+temp-1);target=(target-temp)/26;}}for(int i=index-1;i>=0;i--){System.out.print(ans[i]);}}}總結(jié)
以上是生活随笔為你收集整理的2017蓝桥杯省赛---java---C---7 Excel地址)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日常办公电脑配置?
- 下一篇: 2018蓝桥杯省赛---java---C