Вверх ↑
Этот топик читают: Гость
Ответов: 574
Рейтинг: 1
#1: 2008-09-30 17:55:25 ЛС | профиль | цитата
Всем привет!

Практика в колледже на Pascal'e - это хорошо, а вот 2 задачи из порядка 60 не могу решить... Чисто математических знаний не хватает, а если и хватает, то просто не пойму, как решить. Столько задач сложных сделал, а вот эти остались на закуску... Не поможете?

1. Дано натуральное число n (n<100).
а) Определить число способов выплаты суммы n рублей, с помощью монет достоинством 1,2,5 рублей и бумажных купюр достоинством 10 рублей.
б) Получить все способы выплаты (указать, какие монеты и купюры и в каком кол-ве следует использовать).

2. Даны натуральные числа a и b, обозначающие соответственно числитель и знаменатель дроби. Сократить дробь т.е. найти такие натуральные числа p и q, не имеющие общих делителей, p/q=a/b.

P. S. Кто не знает Паскаля - не беда! Вполне устроит и схема HiAsm ;)
карма: 0

0
Ответов: 1088
Рейтинг: 112
#2: 2008-09-30 18:44:58 ЛС | профиль | цитата
Yuriy писал(а):
2.

http://forum.codenet.ru/showthread.php?t=31087
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:Yuriy
Ответов: 574
Рейтинг: 1
#3: 2008-09-30 19:39:59 ЛС | профиль | цитата
Sniper36, спасибо!

Да, первая задача посложнее будет. Думаю, тут нужно "включать" комбинаторику. У кого какие идеи?
карма: 0

0
Ответов: 1161
Рейтинг: 160
#4: 2008-09-30 20:14:38 ЛС | профиль | цитата
У меня есть. Только расматривается один способ расфасовки
code_10137.txt
карма: 0

2
файлы: 1code_10137.txt [2.6KB] [201]
Голосовали:andrestudio, Yuriy
Ответов: 8928
Рейтинг: 823
#5: 2008-09-30 22:03:42 ЛС | профиль | цитата
Yuriy, к сожалению наш цикл по условию не выдаёт номер интерации, схема была бы проще.
Логика (а совсем не математика) такая: вложенные циклы (на каждую купюру по своему - внешний цикл для старшей) по условию на равенство суммы произведений достоинства купюры на текущее количество, в IC - несколько строк.
code_10138.txt
------------ Дoбавленo:

Yuriy, вторая задача - чистый 5 класс на нахождение наибольшего общего делителя, в два этапа 1) определить все простые числа от 2 до корня из меньшего числа; 2) разложить оба числа на простые множители и найти все одинаковые, их произведение и есть НОД.
карма: 19

1
файлы: 1code_10138.txt [8.1KB] [244]
Голосовали:Yuriy
Ответов: 574
Рейтинг: 1
#6: 2008-09-30 23:19:38 ЛС | профиль | цитата
Леонид писал(а):
в IC - несколько строк.


Можно лучше в IC? Так быстрее разобраться. Просто срок поджимает - мало времени

Леонид писал(а):
Yuriy, вторая задача - чистый 5 класс на нахождение наибольшего общего делителя


Виноват

Всем спасибо за помощь!
------------ Дoбавленo:

Yuriy писал(а):
Можно лучше в IC?


Уже написал на Паскале. Спасибо!

Ну вот, теперь всё готово!!!
------------ Дoбавленo:

Обобщаю решение первой задачи. Спасибо Леониду!


#pas
Uses CRT;
var
n,i,j,k,z,s:integer;
begin
clrscr;
Write('Vvedite n<100: ');
ReadLn(n);
for i:=0 to n div 10 do
for j:=0 to n div 5 do
for k:=0 to n div 2 do
for z:=0 to n do
if (i*10)+(j*5)+(k*2)+z=n then
begin
WriteLn('1 p.: ',z,', 2 p.: ',k,', 5 p.: ',j,', 10 p.: ',i);
s:=s+1;
z:=n;
end;
WriteLn('Vsego sposobov: ',s);
ReadKey;
End.
карма: 0

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)