даны купыри 1 2 5 10 20 ми вводим какоето число денег и надо найти все возможные сумы етого числа из теч купюр помогите плиз кто знает как ето замутить
1. Это он на каком языке пишет?
2. Это он с кем разговаривает?
Оффтоп: это суржик. КПИ - это Киевский Политехнический Институт. Украинцы часто очень безграмотны (в отношении русского), и эта тенденция - все сильнее.
Онтоп:
>помогите плиз кто знает как ето замутить
Замутить полным перебором:
for k1 := ...
for k2 := ...
for k5 := ...
for k10 := ...
for k20 := ...
if k1 * 1 + k2 * 2 + .. + k20 * 20 = sum then
writeln(k1, '*1 + ', k2, '*2 + ' , ...);
ето в паскале кто может хелп плиз
Я тебе и написал в паскале. Только твои усилия тоже понадобятся.
пасибо я напрягся ивыдал чтото только не знаю как моя прога не слишком дибильная
File Edit Search Run Compile Debug Tools Options Window Help
╔═[■]═════════════════════════════ LIP.PAS:1 ════════════════════════════9═[↕]═╗
║program kyrcaz; ▲
║uses crt; ■
║const n=4; ▒
║label l1,l2; ▒
║var a:array [1..n] of integer; ▒
║l,k,i,s:integer; ▒
║begin ▒
║clrscr; ▒
║s:=0; ▒
║for i:=1 to n do ▒
║begin ▒
║writeln ('a[i]',a[i]); ▒
║readln (a[i]); ▒
║end; ▒
║writeln ('ziclo',k); ▒
║readln (k); ▒
║i:=1; ▒
║{for i:=1 to n do } ▒
║ ▒
║while i<=n do ▒
║begin ▼
╚═☼═════ 3:10 ════◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘
F1 Help F2 Save F3 Open Alt+F9 Compile F9 Make Alt+F10 Local menu
Бррр. Во-первых, что за псевдографический скриншот ты запостил Во-вторых, программа обрезанная (только начало поместилось). В-третьих - никакого намека на использование того, что я предложил, не вижу.
В общем. Все, что тебе надо сделать - это считать число, и перебрать, сколько ты берешь купюр каждого вида. Перебираешь вложенными циклами. Что конкретно не получается - пиши.
я сегодня у препода спрашивал он сказал что надо решать твоим методом только скажи цикл начинаем снуля или с 1
уже неделю думаю башка виснит и сам я в цикле)
Я тебе написал основной кусок кода еще в первом посте. Осталось только шапку добавить.
Вот с границами цикла для первых двух переменных:
for k1 := 0 to sum div 1 + 1 do
for k2 := 0 to sum div 2 + 1 do
for k5 := ...
for k10 := ...
for k20 := ...
if k1 * 1 + k2 * 2 + .. + k20 * 20 = sum then
writeln(k1, '*1 + ', k2, '*2 + ' , ...);
спасибо чуваки задача вышла вы мне очень помогли
Единичку добавлять - на всякий случай. Вообще да, в данном случае - не обязательно.
Пожалуйста