Excel 주소(반복 해법)

2181 단어
제목 설명
Excel 셀의 주소는 열 번호를 알파벳으로 표시하는 흥미로운 것을 나타낸다.예를 들어 A는 1열, B는 2열, Z는 26열, AA는 27열, AB는 28열, BA는 53열을 나타낸다.
물론 Excel의 최대 열 번호는 한계가 있기 때문에 전환하는 것은 어렵지 않다.만약 우리가 이런 표현법을 일반화하고 싶다면, 매우 큰 숫자를 매우 긴 자모 서열로 바꿀 수 있습니까?
이 제목은 입력한 숫자에 대응하는 Excel 주소 표시 방식을 출력해야 하는 것입니다.
예를 들어 입력: 26 프로그램은 출력해야 합니다: Z
예를 들어, 입력: 2054는 프로그램이 출력해야 합니다: BZZ 입력
범위 [12147483647] 출력에 대응하는 Excel 주소 표시 방식
어제 모세가 트인 후에 줄곧 우열을 가리던 이 문제도 내가 귀속으로 풀었다.좀 탐색적인 우연이긴 하지만.
이 문제는 구덩이가 하나 있는데 나머지 26은 0요입니다. - 1.
다음은 납득할 수 없는 잘못된 방법이다
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner sc=new Scanner(System.in);
        long a=sc.nextLong();
            System.out.println(f(a));
         
    }
     
    static String f(long n) {
        if(n<27)
            return (char)(n+64)+"";
        if(n%26==0)
            n--;// 
        return f(n/26)+f(n%26+1);// +1  
    }
     
}

나중에 타협해서 관례적인 사상으로 만들어 냈다
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner sc=new Scanner(System.in);
        long a=sc.nextLong();
        char c[]=new char[100];// 
        int t=0;
        while(a!=0) {
            if(a%26==0) {// 0 ‘Z', 
                c[t++]='Z';
                a=a/26-1;
            }else { 
                c[t++]=(char)(a%26+64);
                a/=26;
            }
        }
        for(int i=t-1;i>=0;i--)// 
            System.out.print(c[i]);
    }
}

마지막으로 어제 자신의 귀속 사상이 향상된 데다가 원래의 잘못된 절차에서 약간의 수정이 뜻밖에도 귀속의 정확한 해법에 성공하였다
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner sc=new Scanner(System.in);
        long n=sc.nextLong();
        System.out.println(f(n));
    }
     
    static String f(long i) {
        if(i<=26)
            return ((char)(i+64))+"";
        if(i%26==0)
            return f(i/26-1)+"Z";// 0
        return f(i/26)+f(i%26); 
    }
}

내가 이해하는 귀착은 한 사람이 답을 찾아야 한다는 것이다. 그러나 이 답을 찾기 위해서는 비슷한 답을 많이 만나야 하지만 마지막에 돌아올 때 다른 사람들은 그가 어떻게 찾든 상관하지 않고 최종 답안만 얻게 된다.

좋은 웹페이지 즐겨찾기