Как я могу так кодировать?
я хочу закодировать коэффициенты числа в порядке убывания
Я хочу использовать только 3 функции без рекурсий
Я хочу получить коэффициенты числа в порядке убывания в качестве вывода
Что я уже пробовал:
я попытался сделать это без рекурсии.Потому что я не хочу рекурсии
Patrice T
Здесь мы поможем вам подделать ваш код.
Покажите свой код и укажите проблемы, которые у вас есть.
Isaac David
#include <iostream>
использование пространства имен std;
инт get_number(ничтожным);
пустота print_divisors (инт input_integer);
боол user_repeat (ничтожным);
тап_п (недействительными)
{
инт input_integer;
делать
{
input_integer = get_number();
print_divisors(input_integer);
}
пока (user_repeat());
}
инт get_number(ничтожным)
{
инт кол-во;
cout<<"введите число\n";
Кин&ГТ;&ГТ;кол-во;
if(num<1)
cout<<"это число неприемлемо. Пожалуйста, введите другой номер"<<endl;
="" еще
="" return="" num;
=""
}
пустота="" print_divisors(инт="" input_integer)
{
="" для(int="" коэффициент="1;фактор&ЛТ;=input_integer;фактор++)
" {
="" if(input_integer%factor="=" 0)
= "cout<<factor<<"="" ";
="" }
}
bool="" user_repeat="" (void)
{
="" char="" ответ;
="" если((ответ="" !="г" ||Ответ="" )||(Ответ="" ))
="" соиь<&ЛТ;"пожалуйста,="" реагировать="" с="" г="" (или="" г)="" Для="" да="" и="" н="" н)="" нет"на<<епси;
="" делать
= "cout<<"would=" you=" like=" to=" try=" another=" integer="" (y="" n)?\n=" cin=" " >>ответ;;
if(answer=='Y' || answer == 'y')
cout<< main();
}while(answer =='N' || answer == 'n');
}
Я хочу этот выход
Пожалуйста, введите положительное целое число: 18
18 9 6 3 2 1
Хотите попробовать другое целое число (Y/N)? y
Пожалуйста, введите положительное целое число: -44
-44 не является положительным целым числом.
Пожалуйста, введите положительное целое число: 109
109 1
Хотите попробовать другое целое число (Y/N)? m
Пожалуйста, ответьте Y (или y) для да и N (или n) для Нет.
Хотите попробовать другое целое число (Y/N)? N
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
Patrice T
Не забудьте рассказать, в чем проблема с кодом.
Dave Kreskowiak
Вы имеете в виду, что ваше домашнее задание говорит, что вы не можете использовать рекурсию.
Isaac David
да
Richard MacCutchan
Вы можете начать с другого направления. Разделите на 2, затем 3, затем 4 ... продолжая, пока не дойдете до значения числа / 2. очевидно, что при построении списка вы можете игнорировать те, которые уже были найдены. Вы также можете избежать всех четных чисел, если исходное число нечетное.