| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > НОД |
| Автор: plushevyi 27.12.2007, 15:23 |
| Объясните пожалуйста, каким образом можно написать программу, которая определит и выведит на экран НОД(a; b), без использования в коде функции... Если не трудно, то выложите код... просто мучаюсь с данным заданием уже 3 дня, с использованием функции, программа работает... |
| Автор: GrayCardinal 27.12.2007, 15:30 |
| plushevyi, НОД расшифруйте плиз... |
| Автор: plushevyi 27.12.2007, 16:04 |
| НОД-наибольший общий делитель, например, есть числа 12 и 6 - их НОД равен 6, или 33 и 6 - их НОД равен 3. Как я понимаю, берутся два числа: a и b, далее вычисляем: a=33 b=6 if (a>b) a=33-6=27; if (a>b) a=27-6=21; if (a>b) a=21-6=15; if (a>b) a=15-6=9; if (a>b) a=9-6=3; на этом этапе a<b, поэтому b-a: 9-6=3 => НОД=3 Но как написать код без использования функции я не понимаю, объясните пожалуйста... |
| Автор: archimed7592 27.12.2007, 16:28 |
Без использования какой ф-ции? |
| Автор: plushevyi 27.12.2007, 16:34 | ||||
Вот код с функцией:
|
| Автор: archimed7592 27.12.2007, 17:03 |
Здесь помогают разобраться. Если не хочешь разбираться, то тебе здесь вряд ли помогут. С чем мучаешься? Что пробовал делать? Что получалось в итоге? Этот код ты писал сам? |
| Автор: susanin 18.1.2008, 22:29 | ||
| plushevyi , в своем примере вы приводите код с рекурсивной функцией нахождения НОД. если словами вы хотели сказать, что требуется найти НОД без использования именно рекурсивной функции, то предлагаю следующий код
эта функция нерекурсивно находит НОД...если вам необходимо чтобы вообще не было дополнительных функций, то прост овстройте этот код в main(), если же вам надо что то другое, то прошу уточнить задание... |