Подскажите, пожалуйста, что это за программа?
Для чего она?
Идет под названием Стринг-нод
НОД:
int gcd(int x, int y)
{
if (y == 0)
return x;
return gcd(y, x % y);
}
НОК:
Для того, что их читать из поля “n_gr ” напишем функцию.
string[] nums(string str, int f_m)
{
string[] numbers = new string[f_m + 1];
f_m = 0;
for (int i = 0; i < str.Length; i++)
{
if (str.Substring(i, 1) != " ")
numbers[f_m] += str.Substring(i, 1);
else
f_m++;
}
return numbers;
}
string[] nums(string str, int f_m)
{
string[] numbers = new string[f_m + 1];
f_m = 0;
for (int i = 0; i < str.Length; i++)
{
if (str.Substring(i, 1) != " ")
numbers[f_m] += str.Substring(i, 1);
else
f_m++;
}
return numbers;
}
Входные параметры “str” и “f_m” – это строка с числа и количество чисел соответственно. Создаем массив размерностью “f_m” и начинаем “выдирать” числа из строки и добавлять их в массив “numbers”. Функция возращает массив с числами из строки.
private void find_Click(object sender, EventArgs e)
{
string s = n_gr.Text;
int i = 0, f_m = 0;
while (i < s.Length)
{
if (s.Substring(i, 1) == " ")
f_m++;
i++;
}
string[] numbers = new string[f_m + 1];
numbers = nums(s, f_m);
int c = 2;
bool nok = true;
for (; ; )
{
for (i = 0; i < numbers.Length; i++)
if (numbers != "")
if (c % Convert.ToInt32(numbers) == 0)
{
if (i == 0 || nok == true)
nok = true;
}
else
nok = false;
if (nok == true)
{
n_nok2.Text = Convert.ToString(c);
break;
}
if (c >= 1000000)
{
n_nok2.Text = "НОК для данных чисел не найден!";
break;
}
c++;
}
}