(Java 구현) Blu-Bridge 컵 Excel 주소

1358 단어 블루 브리지 컵
역대 시험 문제 Excel 주소 원본 주소
시간 제한: 1.0s 메모리 제한: 256.0MB 이 문제를 제출하면 Excel 칸의 주소가 재미있음을 나타냅니다. 문자로 열 번호를 표시합니다.예를 들어 A는 1열, B는 2열, Z는 26열, AA는 27열, AB는 28열, BA는 53열을 나타낸다.
물론 Excel의 최대 열 번호는 한계가 있기 때문에 전환하는 것은 어렵지 않다.만약 우리가 이런 표현법을 일반화하고 싶다면, 매우 큰 숫자를 매우 긴 자모 서열로 바꿀 수 있습니까?
이 제목은 입력한 숫자에 대응하는 Excel 주소 표시 방식을 출력해야 한다는 것이다.샘플 입력 26 샘플 출력 Z 샘플 입력 2054 샘플 출력 BZZ 데이터 규모와 약정, 입력의 정수 범위[12147483647]
최대 메모리 소비량(가상 머신 포함)<256M CPU 소비량<1000ms
"입력하십시오..."와 같은 불필요한 내용을 인쇄하지 말고 요구에 따라 엄격하게 출력하십시오.
주의:main 함수는 0을 되돌려야 합니다.ANSI C/ANSI C++ 표준만 사용;컴파일 환경이나 운영체제에 의존하는 특수 함수를 호출하지 마십시오.모든 의존 함수는 원본 파일에서 #include는 프로젝트 설정을 통해 헤더 파일을 생략할 수 없습니다.
프로그램을 제출할 때 원하는 언어 형식과 컴파일러 형식을 선택하십시오.
------------------------------
어리석기는 진법 관계와 비슷하고 완전히 그렇지는 않다고 할 수 있다.꼴찌 2위는 1로 26, 꼴찌 3위는 1로 26*26인 것 같아요.
삐뚤삐뚤한 말은 알파벳 서열에서 숫자를 돌리면 괜찮은데 거꾸로 하면 좀 귀찮은데 컴퓨터가 빨리 달린다는 것이다.
import java.util.Scanner;


public class Exceldizhi {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int[] iA = new int[5000];
		int n = in.nextInt();
		int i = 1;
		while (n != 0) {
			if (n % 26 == 0) {
				// +64 ,+96 
				iA[i] = 26 + 64;
				n -= 1;
			} else {
				iA[i] = n % 26 + 64;
			}
			n /= 26;
			i++;
		}
		for (int j = i - 1; j > 0; j--) {
			System.out.print((char)iA[j]);
		}
	}

	
}

좋은 웹페이지 즐겨찾기