//pascalabc.net
//версия 3.3, сборка 1634 (14.02.2018)
begin
var (cost, t, k) : = (arr(15, 70, 125, 230, 440), arr(1, 5, 10, 20, 60), new integer[5]);
var n : = readinteger('n-> ');
for var i : = 4 downto 0 do
k[i] : = n div t[i]; n : = n mod t[i];
end;
if k[0] * cost[0] > = cost[1] then begin k[0] : = 0; inc(k[1]); end;
if k[0] * cost[0] + k[1] * cost[1] > = cost[2] then
k[0] : = 0; k[1] : = 0; inc(k[2]);
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] > = cost[3] then
k[0] : = 0; k[1] : = 0; k[2] : = 0; inc(k[3]);
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] > = cost[4] then
k[0] : = 0; k[1] : = 0; k[2] : = 0; k[3] : = 0; inc(k[4]);
for var i : = 0 to 4 do writelnformat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.
пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)
пример(2):
n-> 35
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)
подробнее - на -
ответ: 32+5*64+10*128 = 32+320+1280 = 1632
- количество таких слов 2^5 = 32
y - количество таких слов 2^4*4 = 16*4 = 64
xxxyx - количество таких слов 2^4*4 = 16*4 = 64
xxyxx - количество таких слов 2^4*4 = 16*4 = 64
xyxxx - количество таких слов 2^4*4 = 16*4 = 64
xxxyy - количество таких слов 2^3*4^2 = 8*16 = 128
xxyyx - количество таких слов 2^3*4^2 = 8*16 = 128
xyyxx - количество таких слов 2^3*4^2 = 8*16 = 128
yyxxx - количество таких слов 2^3*4^2 = 8*16 = 128
xxyxy - количество таких слов 2^3*4^2 = 8*16 = 128
xyxyx - количество таких слов 2^3*4^2 = 8*16 = 128
yxyxx - количество таких слов 2^3*4^2 = 8*16 = 128
xyxxy - количество таких слов 2^3*4^2 = 8*16 = 128
yxxyx - количество таких слов 2^3*4^2 = 8*16 = 128
yxxxy - количество таких слов 2^3*4^2 = 8*16 = 128
//pascalabc.net
//версия 3.3, сборка 1634 (14.02.2018)
begin
var (cost, t, k) : = (arr(15, 70, 125, 230, 440), arr(1, 5, 10, 20, 60), new integer[5]);
var n : = readinteger('n-> ');
for var i : = 4 downto 0 do
begin
k[i] : = n div t[i]; n : = n mod t[i];
end;
if k[0] * cost[0] > = cost[1] then begin k[0] : = 0; inc(k[1]); end;
if k[0] * cost[0] + k[1] * cost[1] > = cost[2] then
begin
k[0] : = 0; k[1] : = 0; inc(k[2]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] > = cost[3] then
begin
k[0] : = 0; k[1] : = 0; k[2] : = 0; inc(k[3]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] > = cost[4] then
begin
k[0] : = 0; k[1] : = 0; k[2] : = 0; k[3] : = 0; inc(k[4]);
end;
for var i : = 0 to 4 do writelnformat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.
пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)
пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)
подробнее - на -
ответ: 32+5*64+10*128 = 32+320+1280 = 1632
- количество таких слов 2^5 = 32
y - количество таких слов 2^4*4 = 16*4 = 64
xxxyx - количество таких слов 2^4*4 = 16*4 = 64
xxyxx - количество таких слов 2^4*4 = 16*4 = 64
xyxxx - количество таких слов 2^4*4 = 16*4 = 64
y - количество таких слов 2^4*4 = 16*4 = 64
xxxyy - количество таких слов 2^3*4^2 = 8*16 = 128
xxyyx - количество таких слов 2^3*4^2 = 8*16 = 128
xyyxx - количество таких слов 2^3*4^2 = 8*16 = 128
yyxxx - количество таких слов 2^3*4^2 = 8*16 = 128
xxyxy - количество таких слов 2^3*4^2 = 8*16 = 128
xyxyx - количество таких слов 2^3*4^2 = 8*16 = 128
yxyxx - количество таких слов 2^3*4^2 = 8*16 = 128
xyxxy - количество таких слов 2^3*4^2 = 8*16 = 128
yxxyx - количество таких слов 2^3*4^2 = 8*16 = 128
yxxxy - количество таких слов 2^3*4^2 = 8*16 = 128