글
백준 4673번 셀프 넘버(JAVA, C#)
자바
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());
}
}
'백준 프로그래밍' 카테고리의 다른 글
백준 11720번 숫자의 합(JAVA, C#) (0) | 2023.02.20 |
---|---|
백준 11654번 아스키코드 ASCII(JAVA, C#) (0) | 2023.02.20 |
백준 15596번 정수 N개의 합(JAVA) 함수 (0) | 2023.02.18 |
백준 4344번 평균은 넘겠지(JAVA, C#) %.3f%%\n / 100:F3}% (0) | 2023.02.18 |
백준 8958번 OX퀴즈(JAVA, C#) charAt(), array[].length() (0) | 2023.02.18 |