Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 1
Регистрация: 05.08.2017
Сообщений: 61
1

Нужно перевести программу с Ada в Pascal

10.10.2017, 15:10. Просмотров 922. Ответов 4
Метки нет (Все метки)


жело переоценить роль шоколадных плиток для проведения традиционных олимпиад по программированию. Во-первых, питательное содержание шоколада значительно повышает количество гениальных идей у участников олимпиады, а геометрическая форма плитки – это, обычно, прямоугольник размером a × b квадратных частей 1 × 1, что в свою очередь напоминает модели многих задач.
Известны размеры шоколадной плитки a × b и количество участников олимпиады n. Членам жюри нужно определить, какого количества плиток шоколада достаточно, чтобы разломив их на единичные части, можно было бы разделить их поровну среди всех n участников олимпиады. То есть чтобы каждый получил бы одинаковое число квадратных долек 1 × 1.

Вход. Натуральные числа a, b, n. Все значения не превышают 100.

Выход. Вывести достаточное количество плиток шоколада.

Пример входа
3 5 6

Пример выхода
2


РЕШЕНИЕ
циклы

Анализ алгоритма
Каждая плитка шоколада содержит a * b единичных частей. Если cnt – достаточное количество плиток шоколада, то a * b * cnt должно нацело делиться на n. Значение cnt всегда существует, ищем его простым перебором: 1, 2, 3, … .

Реализация алгоритма
Читаем входные данные.

scanf("%d %d %d",&a,&b,&n);
s = a * b;

Искомое количество плиток шоколада cnt ищем простым перебором, начиная с 1.

cnt = 1;
while (a * b * cnt % n > 0)
cnt++;

Выводим ответ.

printf("%d\n",cnt);

Вот то, в чём я разобрался, но что то не работает:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a,b,n,k,s:longint;
begin
readln (a,b,n);
s:=a*b;
k:=1;
while (s*k div n)>0 do
begin
k:=k+1;
end;
writeln (k);
readln
end.
Спасибо

Добавлено через 56 минут
Уже решил.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2017, 15:10
Ответы с готовыми решениями:

Нужно перевести программу с Turbo Pascal в Pascal ABC.NET
Вот есть программный код , но он для турбо паскаля, помогите перевести его в АБС.NET Program...

Нужно Перевести программу с Turbo pascal на C++
Помогите пожалуйста! Нужно Перевести программу с Turbo pascal на C++ вот этот код: uses crt;...

Нужно перевести программу с Basic на Pascal
Пожалуйста помогите перевести программу с Basic на Pascal

Нужно перевести программу с Pascal на Python
Пожалуйста, помогите перевести программу с Pascal на Python. program...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
4
Эксперт Pascal/Delphi
6582 / 4432 / 4722
Регистрация: 05.06.2014
Сообщений: 21,756
14.10.2017, 13:04 2
Цитата Сообщение от Капинус Посмотреть сообщение
Уже решил.
Это замечательно!
Не могли бы Вы выложить Ваше решение? Что чрезвычайно смогло бы помочь иным страждущим.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30871 / 20192 / 7875
Регистрация: 22.10.2011
Сообщений: 35,053
Записей в блоге: 6
14.10.2017, 13:08 3
Да, и заодно рассказать, где же здесь Ада-то. А то я искал-искал знакомые буквы, только Си да Паскаль нашел...
0
2 / 2 / 1
Регистрация: 05.08.2017
Сообщений: 61
16.10.2017, 18:33  [ТС] 4
А вот и решение. На e-olimp проходит 100%
Пользуйтесь на здоровье.

Pascal
1
2
3
4
5
6
7
8
9
10
11
type index=0..100;
var a,b,n:index;
s,k:word;
begin
readln (a,b,n);
s:=a*b;
k:=1;
while (s*k mod n)>0 do
k:=k+1;
writeln (k);
end.
0
Alvin Seville
332 / 265 / 131
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
16.10.2017, 20:18 5
1. Абсолютно неясно зачем вводить лишний тип index.
2. И так же зачем писать без отступов.

Добавлено через 1 минуту
Есть стандартные типы - вот ими на здоровье и пользуйтесь. Если надо - создавайте свои (только там где это действительно надо). Не пытайтесь куча всего лишнего понапихать в программу, что совсем не нужно для решения данной задачи.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2017, 20:18

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Нужно перевести данную программу из Turbo Pascal в Delphi
Program Statist2 Uses Crt,Graph; Const k=10; Var i,j,n,m1,k1,k2,k3,l,r,v,j1,j2, ...

Нужно перевести код из Turbo Pascal в Pascal ABC.NET
Доброго времени суток. На форуме находил похожие темы, но к сожалению так и не смог разобраться....

Нужно перевести код с Pascal ABC на Turbo Pascal - рисование работающей мельницы
Вот код, он должен рисовать работающею мельницу. uses graphABC,crt; type point=record ...

Нужно перевести код из Turbo Pascal в Pascal ABC
Program n5; { Задача. Описать функцию less(f) от непустого файла f ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.