Помощь - Поиск - Пользователи - Календарь
Полная версия: курсач в кпи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
revan
даны купыри 1 2 5 10 20 ми вводим какоето число денег и надо найти все возможные сумы етого числа из теч купюр помогите плиз кто знает как ето замутить
Ozzя
adm.gif
1. Это он на каком языке пишет?
2. Это он с кем разговаривает? norespect.gif
Michael_Rybak
Оффтоп: это суржик. КПИ - это Киевский Политехнический Институт. Украинцы часто очень безграмотны (в отношении русского), и эта тенденция - все сильнее.

Онтоп:
>помогите плиз кто знает как ето замутить

Замутить полным перебором:

for k1 := ...
for k2 := ...
for k5 := ...
for k10 := ...
for k20 := ...
if k1 * 1 + k2 * 2 + .. + k20 * 20 = sum then
writeln(k1, '*1 + ', k2, '*2 + ' , ...);
revan
ето в паскале кто может хелп плиз
Michael_Rybak
Я тебе и написал в паскале. Только твои усилия тоже понадобятся.
revan
пасибо я напрягся ивыдал чтото только не знаю как моя прога не слишком дибильная




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
Michael_Rybak
Бррр. Во-первых, что за псевдографический скриншот ты запостил smile.gif Во-вторых, программа обрезанная (только начало поместилось). В-третьих - никакого намека на использование того, что я предложил, не вижу.

В общем. Все, что тебе надо сделать - это считать число, и перебрать, сколько ты берешь купюр каждого вида. Перебираешь вложенными циклами. Что конкретно не получается - пиши.

revan
я сегодня у препода спрашивал он сказал что надо решать твоим методом только скажи цикл начинаем снуля или с 1
compiler
Цитата(revan @ 1.06.2007 16:02) *
я сегодня у препода спрашивал он сказал что надо решать твоим методом только скажи цикл начинаем снуля или с 1
попробуй собрать десятку, хотябы содной двадцаткой smile.gif , конечно с 0... до (дальше думай сам smile.gif )
revan
уже неделю думаю башка виснит и сам я в цикле)
Michael_Rybak
Я тебе написал основной кусок кода еще в первом посте. Осталось только шапку добавить.

Вот с границами цикла для первых двух переменных:

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 + ' , ...);
compiler
Цитата(Michael_Rybak @ 2.06.2007 12:37) *

Осталось только шапку добавить... to sum div 1 + 1 do...
у меня вопрос по этой самой шапки.. Зачем добавлять единицу?
revan
спасибо чуваки задача вышла вы мне очень помогли
Michael_Rybak
Единичку добавлять - на всякий случай. Вообще да, в данном случае - не обязательно.

Пожалуйста smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.