Представим себе, что в некотором государстве хотят отремонтировать все мосты через все реки. Всего имеется N рек. В этом государстве каждый мост состоит из одинакового кол-во брёвен, равного x. Руководство хочет как можно быстрее отремонтировать все мосты, поэтому приянло решение их просто покрасить. На покраску одного бревна уходит M банок краски. В каждой банке L литров краски. Необходимо определить, сколько всего литров краски будет израсходовано. Формат ввода В первой строке записано единственное число 1 N 1000-кол-во рек в государстве. Во второй строке записано единственное число 1 M 5- кол-во банок краски, необходимое для покраски одного бревна. В четвёртой страке записано единственное число 1 L 5-кол-во литров в одной банке краски. Формат вывода ответ на вопрос задачи
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
function ДробьНесократима(Чис,Знам:integer):boolean; begin while Знам<>0 do begin Чис:=Чис mod Знам; Swap(Чис,Знам) end; Result:=Чис=1 end;
begin for var Знаменатель:=2 to 7 do for var Числитель:=1 to Знаменатель-1 do if ДробьНесократима(Числитель,Знаменатель) then Write(Числитель,'/',Знаменатель,' '); Writeln end.
ответ: 15
Прога:
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
ll f(ll num){
ll res = 0;
while(num > 0){
res += 1 - num % 2;
num /= 2;
}
return res;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
ll ans = 0;
for(ll i = 27; i <= 53; i++)
if(f(i) >= 3)
ans++;
cout << ans;
}
// Внимание! Если программа не работает, обновите версию!
function ДробьНесократима(Чис,Знам:integer):boolean;
begin
while Знам<>0 do begin Чис:=Чис mod Знам; Swap(Чис,Знам) end;
Result:=Чис=1
end;
begin
for var Знаменатель:=2 to 7 do
for var Числитель:=1 to Знаменатель-1 do
if ДробьНесократима(Числитель,Знаменатель) then
Write(Числитель,'/',Знаменатель,' ');
Writeln
end.
Результат
1/2 1/3 2/3 1/4 3/4 1/5 2/5 3/5 4/5 1/6 5/6 1/7 2/7 3/7 4/7 5/7 6/7