1) В каких случаях можно использовать обычный массив для моделирования стека?
2) Как построить стек на основе динамического массива?
3) Почему при передаче объекта-стека подпрограммы (в материалах лекции) соответствующий параметр должен быть изменяемым?
Var
ar:array of integer;
n,i,min,mini:integer;
begin
randomize;
min:=2147483647;
writeln('Введите размерность:');
readln(n);
setlength(ar,n);
writeln('Array:');
for i:=0 to n-1 do
begin
ar[i]:=random(-30,30);
write(ar[i]:4);
if min>=ar[i] then
begin
min:=ar[i];
mini:=i;
end;
end;
for i:=0 to mini-1 do
if ar[i]<0 then ar[i]:=0;
writeln;
writeln('Final array:');
for i:=0 to n-1 do
write(ar[i]:4);
end.
Пример ввода:
5
Пример вывода:
Array:
-3 -26 -2 18 -21
Final array:
0 -26 -2 18 -21
dp[i] = dp[i-1] + dp[i-2] + dp[i-5] + dp[i-10];
ll dp[666];
dp[0] = 1;
for(int i=0;i<=64;i++)
{
dp[i+1]+=dp[i];
dp[i+2]+=dp[i];
dp[i+5]+=dp[i];
dp[i+10]+=dp[i];
cout << i << ": " << dp[i] << endl;
}
это если порядок важен, то есть 2 + 1 != 1 + 2, тогда ответ
489475342266653, наверное
а иначе 644
ll ans=0;
for(int i=0;i<10;i++) // 10
{
for(int j=0;j<20;j++) // 5
{
for(int k=0;k<50;k++) // 2
{
ll now = i*10 + j*5 + k*2;
if(now<=64) ans++;
}
}
}
cout << ans;