просто перевод строк на паскаль. Логики тут искать не стоит. Первоначальное задание не полностью дано.
Объяснение:
const
size = 6
var
a : array [0..size, 0..size] of integer;
d, v : array [0..size] of integer;
i, temp, minindex, min, begin_index : integer;
begin
begin_index := 0;
for i:=0 to size-1 do begin
temp := min + a[minindex][i]
if temp < d[i] then
d[i] := temp
end;
v[minindex] := 0;
writeln('Кратчайшие расстояния до вершин')
for i := 0 to size-1 do
writeln(ver[i])
end.
840
Объяснение:
Функция рекурсивно вызывает саму себя с разными аргументами.
F(5) должна вычислить F(4) * 7
F(4) ----------------------------- F(3) * 6
F(3) ----------------------------- F(2) * 5
F(2) ----------------------------- F(1) * 4
F(1) возвращает 1.
F(2) получает 1, вычисляет 1*4 и возвращает результат 4
F(3) получает 4, вычисляет 4*5 и возвращает 20
F(4) получает 20, вычисляет 20*6 и возвращает 120
F(5) получает 120, вычисляет 120*7 и возвращает 840
Основная программа получает 840 и выводит число на экран
#include <fstream>
using namespace std;
int main()
{
char num[6];
cin>>num;
int a[6];
for (int i=0; i<6; i++){
a[i]=num[i]-48;
}
ofstream ofs ("output.txt");
if(a[0]+a[1]+a[2] == a[3]+a[4]+a[5]) ofs<<"1";
else ofs<<"0";
ofs.close();
return 0;
}