Спрограммой по с++! будунужно
1)
с некоторого момента некоторое количество дней. сколько полных недель с этого же момента?
выведите целое число недель.
входные данные выходные данные
10
1
15
2
2)
анатолий — начинающий некромант, но уже обзавёлся своим собственным легионом нежити. в него входит двузначное количество скелетов, где a — количество десятков в этом числе, а b — количество единиц. для наступления на столицу королевства анатолий, как хороший тактик, решил разбить свою армию на отряды из k скелетов.
разумеется, количество скелетов может не поделиться нацело на k, поэтому каких-то скелетов придется оставить в штабе. посчитайте, сколько таких скелетов будет.
требуется вывести одно целое число — ответ на .
входные данные выходные данные
4 2 11
9
0
4 2 6
3)дан порядковый номер дня года (отсчет идет с 1-го января). требуется вывести номер дня недели этого дня, если 1 января — понедельник. (запрещено использовать команду if)
.
формат выходных данных
выведите номер дня недели для данного дня года (понедельник — 1, вторник — 2, воскресенье — 7).
входные данные выходные данные
1
1
5
5
9
2
Frac = record
P: integer;
Q: 1..32767
end;
function gcd(a: integer; b: integer): integer;
{Нахождение НОД}
var
i: integer;
begin
while b <> 0 do
begin
a := a mod b;
i := b; b := a; a := i
end;
result := a
end;
function RedFrac(a: Frac): Frac;
{Сокращение дроби}
var
igcd: integer;
r: Frac;
begin
igcd := gcd(a.P, a.Q);
r.P := a.P div igcd;
r.Q := a.Q div igcd;
RedFrac := r
end;
function Add(a, b: Frac): Frac;
{Сложение дробей}
var
r: Frac;
begin
r.P := a.P * b.Q + b.P * a.Q;
r.Q := a.Q * b.Q;
Add := RedFrac(r)
end;
function Mult(a, b: Frac): Frac;
{Умножение дробей}
var
r: Frac;
begin
r.P := a.P * b.P;
r.Q := a.Q * b.Q;
Mult := RedFrac(r)
end;
var
m, n, k: Frac;
begin
m.P := 4; m.Q := 15; {4/15}
n.P := 9; n.Q := 25; {9/25}
k := Add(m, n);
Writeln(k.P, '/', k.Q);
k := Mult(m, n);
Writeln(k.P, '/', k.Q);
end.
Результат выполнения программы:
47/75
12/125