C#/실습으로 다지는 C#

[007] C# 암스트롱의 수 구하기

언제나휴일 2020. 4. 6. 04:16
반응형

암스트롱의 수

소스 코드

//ehpub.co.kr
//실습으로 다지는 C#
//7. 암스트롱의 수
//ABC = A의 3승 + B의 3승 + C의 3승
using System;


namespace _007_암스트롱의_수
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("암스트롱의 수 구하기");
            Console.WriteLine("abc = a*a*a + b*b*b + c*c*c");
            for(int i=100;i<1000;i++)
            {
                if(IsAmstrong(i))
                {
                    Console.WriteLine(i);
                }
            }
        }
        static bool IsAmstrong(int num)
        {
            if((num<100)||(num>999))//조건(num이 3자리 정수가 아니라면)
            {
                return false;//거짓 반환
            }
            int a = num / 100;//a:= num의 100의 자리의 수
            int b = (num % 100) / 10;//b := num의 10의 자리의 수
            int c = num % 10;//c:= num의 1의 자리의 수
            int num2 = a * a * a + b * b * b + c * c * c;//num2 = a의 3승 + b의 3승 + c의 3승
            return num == num2;//num과 num2가 같은지 판별 결과 반환            
        }
    }
}

 

실행 결과

암스트롱의 수 구하기
abc = a*a*a + b*b*b + c*c*c
153
370
371
407

 

 

[실습으로 다지는 C#] 7. 암스트롱의 수 – 언제나 휴일

 이번 실습에서는 암스트롱의 수를 판별하는 메서드를 만들어 봅시다.  암스트롱의 수는 ABC = AXAXA + BXBXB + CXCXC인 정수를 말합니다. 예를 들어 153 = 1 = 125 + 27 입니다. 이러한 수를 암스트롱의 수라고 말합니다.  이러한 암스트롱의 수를 판별하는 메서드를 만들기 전에 먼저 메서드 이름과 입력 매개 변수와 리턴 형식을 결정합니다. 언제나 알고리즘은 입력 인자와 수행 결과가 어떠한 것이 올 수 있는지를 판단할 수 있어야

ehpub.co.kr

 

반응형