Форум » Рекурсивные процедуры и функции » №35 » Ответить

№35

alspay: Определите наименьшее значение суммы n+m такое, что значение F(n, m) больше числа 15 и выполняется условие n и m– натуральные числа. Запишите в ответе сначала значения n и m, при которых указанная сумма достигается, в порядке неубывания, а затем – соответствующее значение F(n, m). Числа в ответе разделяйте пробелом. Скорее всего не совсем понял условие. F(n, m) больше числа 15: n = 16 m = 16 F(n, m) = 16 в ответе 16 32 16 [quote]#include <iostream> using namespace std; int F(int n, int m) { if(n>m) return F(n-m,m); else if( n < m ) return F(m-n,n); else return n; } int main() { int n, m; bool f = true; for (n = 1; n < 1000 && f; n++) for (m = 1; m < 1000 && f; m++){ if (F(n, m) > 15) {cout << n << ' ' << m << endl; f = false;} } return 0; } [/quote]

Ответов - 3

Поляков: alspay пишет: в ответе 16 32 16 Там еще есть условие n != m.

alspay: Константин Юрьевич, это условие было добавлено уже позже))) Тогда вопрос закрыт.

alspay: Прошу прощения, это у меня не скопировалось.




полная версия страницы