using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//[?] 근삿값 알고리즘: 원본 데이터 중에서 대상 데이터와 가장 가까운 값
//차잇값의 절댓값의 최솟값
namespace Project2
{
class Class1
{
static void Main(string[] args)
{
//[1]Input
int[] data = { 10, 20, 23, 27, 17 };
int target = 25;
List<int> nears = new List<int>();
int min = Int32.MaxValue;
//[2]process
//차이의 최솟값 구하기
for (int i = 0; i < data.Length; i++)
{
if (Math.Abs(data[i] - target) < min)
{
min = Math.Abs(data[i] - target);
}
}
//[3]Output
Console.WriteLine($"차이의 최솟값:{min}"); //2
for (int i = 0; i < data.Length; i++)
{
if (Math.Abs(data[i] - target) == min)
{
nears.Add(data[i]);
}
}
foreach(var n in nears)
{
Console.WriteLine(n);
}
}
}
}