BLOG main image
분류 전체보기 (52)
나의 이야기 (27)
컴퓨터 (23)
미 공개 글 (0)
WorldOfWarcraft (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2007. 4. 16. 23:53
이번에 올릴 알고리즘은 암스트롱넘버 입니다.

왜 암스트롱넘버라고 불리우는지는 모릅니다. ^__^

이 소스역시 후배의 부탁으로 짬내서(;;) 만든라서 멀라여~

간단한히 설명하자면 각 자리의 숫자를 세 제곱한뒤 전부 더해서 나온 값이 원래의 값과 같은 경우

암스트롱넘버라고 불리우는듯 합니다. (--; 글을 올려놓구 무책입해서 죄송 ㅎㅎ)

바로 소스 올라갑니다.~~

public class ArmstrongNumber {
    public static void main(String[] args) {
        int n, x, y, z;
        for(n=100; n<500; n++) {
            x = n/100; y = (n%100) / 10; z = (n%100) % 10;
            if (n == x*x*x + y*y*y + z*z*z) System.out.println(n + " = " + x + "^3 " + y + "^3 " + z + "^3");
        }
    }
}

** 개발환경 ver 0.001 **
O   S  : Ubuntu linux 6.10 (kernel version은 ;;; 터미널 열기 귀찮음)
TOOL : VIM + TagLIst
COMPILER : SUN JDK 1.5
DATE : 기억안남
깊은 생각 없이 생각난거 바로 만들었기 때문에 소스에 어떤 잠재 위험요소가 있을지 모릅니다. ^^

덧1. 개발환경을 추가해 볼려고 하는데 글을 몇번 더 올려야 어느정도 틀이 잡힐듯 싶네요
      우선 생각나는데로 몇개 적어보았습니다.
2007. 4. 11. 01:08
알고리즘 카테고리에 구구단을 제일 먼저 올리게 될 줄은 상상도 못했다.

좀더 근사한 알고리즘을 첫번째로 올리고 싶었는데 ^^

사실 구구단 소스는 2006년 초 C언어 특강을 받을때 만든 소스를

몇 일전 후배의 부탁으로 자바로 수정한 것 이다.

public class Gugudan {

    public static void main(String[] args) {
        int n, i;
        for(n=1; n<19; n++) {
            if (n<10) {
                for(i=2; i<6; i++) System.out.print(i + " * " + n + " = " + i*n + "\t");
            } else {
                for(i=6; i<10; i++) System.out.print(i + " * " + (n-9) + " = " + i*(n-9) + "\t");
            }

            if(n==9) System.out.println();
            System.out.println();
        }
    }
}



재미있는건 누군가가 지금 나에게 이런 알고리즘을 구현하라고 이야기하면...

구현하지 못 할 것 같다는 거다. 이 소스가 대단하는 것이 아니라 for문과 if문을 써서 이런

기교 아닌 기교를 부린다는 생각을 못 할 것 같다는 거다.

머리가 굳은건가 생각의 폭이 좁아진건가;

덧. 태터툴즈는 플러그인을 통해 소스를 깔끔히 볼수 있었는데 티스토에선 왜
     추가 안 하는 건지;;;
     결국 박스처리하고 테두리 넣었다 ㅋ
     그래도 코드 하일라이팅은 포기다 ㅠ.ㅠ