728x90
SMALL

자바

 

 

 

import java.util.*;

public class Main{
public static void main(String args[]){
    boolean [] a = new boolean[10001];
    
    for(int i = 1;i<10001;i++)
    {
        int n = d(i);
        
        if (n < 10001) 
        {                    //10000보다 작은 수만
            a[n] = true;
        }
    }
        
    for(int i = 1;i<10001;i++)
    {
        if(a[i] == false)
        {
            System.out.println(i);
        }
    }
}
    
    public static int d(int number){
        int sum = number;
        
        while (number != 0)
        {
            sum += number%10;                   // number의 첫째 자리수
            number = number/10;                 //나누기로 첫째자리 수 제외
        }
        return sum;                             // int n이 된다
    }
}

 

 

 

///////////////////////////

 

 

 

C#

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
 
internal class Program
{
    private static void Main()
    {
        List<int> answer = new List<int>(Enumerable.Range(1,10000));
        
        for(int i = 0;i<10000;i++)
        {
            answer.Remove(selfnum(i));
        }
        
        Console.WriteLine(string.Join("\n", answer));
    }
    
    private static int selfnum(int i)
    {
        i = i+1;  
        string str_i = i.ToString();
        int num = i;
        
        for(int j = 0;j<str_i.Length;j++)
        {
            num += int.Parse(str_i[j].ToString());
        }
        
        return num;
    }
}

 

 

 

///////////////////

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
internal class Program
{
    private static void Main()
    {
        StringBuilder result = new StringBuilder();
 
        var integers = Enumerable.Range(1, 10000).ToList();
        var notSelfNumbers = new Queue<int>();
        
        foreach (var i in integers)
        {
            int sum = i;
            foreach (var j in i.ToString())
            {
                sum += int.Parse(j.ToString());
                /// 자릿수 더하기
            }
            notSelfNumbers.Enqueue(sum);
        }
 
        while (notSelfNumbers.Count != 0)
        {
            int n = notSelfNumbers.Dequeue();
            // 셀프 넘버가 아닌 것을 삭제한다.
            integers.Remove(n);
        }
        
        foreach (var item in integers)
        {
            result.AppendLine(item.ToString());
        }
 
        Console.WriteLine(result.ToString());
    }
}

728x90

설정

트랙백

댓글