Не выходит переделать программу НОД цифр числа
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
int main()
{
int num,n;
int nod(int a, int b)
{
if (b != 0) {
return nod(b, a % b);
} else {
return a;
}
}
printf(«Number: »);
scanf(«%d», &num);
while (num != 0)
{
int n = num%10;
while (num /= 10)
n = nod(n, num%10);
printf(«Digits NOD: %d», n);
}
return 0;
}
Может кто-нибудь переделать данную программу, чтобы она так же высчитывала НОД цифр числа, но как-нибудь избавившись от использования функции , чтобы был только main()
Читай это.
Collapse, «это» не поможет. Там тоже везде функции.
Можно предложить сначала разложить число на цифры, например в массив типа int, а потом по этому массиву пройтись циклом от 9 до 1. На какое число все числа массива разделятся без остатка — это и будет НОД.
Вы посмотрите внимательней.
Специально для кого-то показываю код в самом начале той статьи. А кстати, johnybsraynilol, и вам это отлично подойдёт.
Здесь не имеет смысла использовать всю мощь функций, вычислющих НОД. Достаточно цикла от 9 до 1.
Кстати, первый алгоритм самый дубовый, как следует из статьи.
Вот код, по-моему, как раз.
Об этом же Вы говорили!
Какая нафиг мощь? Эти функции просты, понятны и в достаточной степени эффективны. Их использование намного лучше, чем перебирать всё циклами...
Такая нафиг мощь, что человек на том уровне изучения языка, что даже функций пока не знает.
И что теперь, не учить что ли? Тем более, может и без функций это сделать, прямо в main, который, кстати, тоже функция. Алгоритм от этого никак не пострадает. А вот то, что учиться сразу писать хрень на циклах, вместо изучения и использования предназначенных для этого алгоритмов глупо. Чем сложен, например, алгоритм Евклида?
http://e-maxx.ru/algo/euclid_algorithm
И на этом сайте тоже есть: https://code-live.ru/post/greatest-common-denominator-algorithms/