ABOUT ME

-

Today
-
Yesterday
-
Total
-


  • 나르시스트수
    웹&컴퓨팅 2007. 12. 24. 17:38
    ^^ 이거 누구한테 설명하려고 쓴 이메일인데 ,,

    언젠가 필요할꺼같아서 잊어 버리지 않게,,,,ㅋㅋㅋ

    나르시스트수 이거 ,,,,

    흥배 한테 보냈던거 같다....2003년?? 2004년?? 하여튼 옛날에,,,,근데 어디 쓰지?

    아무리 생각해도 언제 쓸지 모르겟넹,,,,



    123 같은 경우

    ( 1*1*1 ) + ( 2*2*2 ) + ( 3*3*3 )

    이렇게 계산했을 때

    1^3 + 2^3 + 3^3
    1의 3승 / 2의 3승 / 3의 3승이면,,,

    123이 안됩니다,,

    그럼 나르시스트수가 안되구요.

    나르시스트의 수는 위에 처럼 계산했을 때 자기 자신의수가 되는수를 나르시스트수 라고 합니다,

    예를들어 153의 경우는

    1^3 + 5^3 + 3^3 이면…

    153이 됩니다,,,,

    이수를 나르시스트수 라고 하는데요,,

    알고리즘만 알면

    쉬운 것 같네요,,,,,

    인터넷 이곳저곳에 올라잇는 내용이 너무 어렵게 되어잇어서,,,

    나름대로 쉽게 한건데,,,,흥배씨라면,,,당연,,,ㅋㅋㅋ

    1이면 1^3 =1



    천까지 구하는 C코드입니다..

    #include <stdio.h> //알죠 입출력

    #include <math.h> //meth 함수가 필요하네요!! Pow 요놈 해결해야 해요~!ㅋㅋㅋㅋㅋ



    void main(){

    int i,a,b,c;

    for(i=100;i<1000;i++){ //천까지! 백단위씩

    a= i/100; //한자리 수로 만들어야죠~!

    b= (i%100)/10; //역시 한자리 i 가 100씩 올라 가니깐 100단위로 나눈 나머지 값의 10분의1이면 10자리 맞나요?ㅋㅋ

    c=i%10; //역시

    if (i == pow(a,3) + pow(b,3) + pow(c,3) ) { //pow는 승을 구하는 함수랍니다. 예-pow(5,4) = 5^4 = 5의 4승이죠~!

    printf("%d = %d^3 + %d^3 + %d^3 \n",i,a,b,c); //출력

    }

    }

    }

    다시 코드만
    #include <stdio.h>
    #include <math.h>
    void main(){
      int i,a,b,c;
      for(i=100;i<1000;i++){
        a= i/100; b= (i%100)/10; c=i%10;
        if (i == pow(a,3) + pow(b,3) + pow(c,3) ) {
          printf("%d = %d^3 + %d^3 + %d^3 \n",i,a,b,c);
        }
      }
    }

    댓글 1

Designed by Tistory.