Использование params - C#
Формулировка задачи:
Добрый день, у меня есть программа, считающая НОК (наименьшее общее кратное) но только для двух переменных, необходимо усовершенствовать её чтобы она считала для неопределённого количества элементов, но проблема в том, что я не понял как его использовать, так как не имел дела с ним ранее.
Вот код имеющейся программы:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LR8._2 { class Program { public static int NOK(int m, int n) { int i; for (i = 0; i < (n * m + 1); i++) { if (i % m == 0 && i % n == 0) { int nok = i; if (i != 0) { break; } } } return i; } static void Main(string[] args) { Console.WriteLine("Calculate NOK"); Console.Write("- a:"); int m = Convert.ToInt32(Console.ReadLine()); Console.Write("- b:"); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("--— NOK = {0} —--", NOK(m, n)); Console.ReadKey(); } } }
Сверху я написал оригинал задачи, которую нужно изменить, ниже то, что у меня получилось:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LR8._2 { class Program { public static int NOK(params int[] values) { int i; for (i = 0; i < values.Length; i++) { Console.WriteLine("Calculate NOK"); if (i % values[i] == 0) { Console.Write("- a:"); values[i] = int.Parse(Console.ReadLine()); int nok = i; if (i != 0) { break; } } } return i; } static void Main(string[] args) { params int[] values; Console.Write("- b:"); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("--— NOK = {0} —--", NOK()); Console.ReadKey(); } } }
Решение задачи: «Использование params»
textual
Листинг программы
static void Main(string[] args) { Console.WriteLine("Введите несколько натуральных чисел (в одну строку)"); var values = Console.ReadLine() .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse) .ToArray(); Console.WriteLine("--— NOK = {0} —--", NOK(values)); Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д