Задача Поля Дирака (c++)
Три рыбака легли спать, не поделив улова ночью первый рыбак решил уйти, взяв свою долю. Но число рыб не делилось на три. Тогда он выбросил одну рыбу, а из числа оставшихся забрал треть. Второй рыбак не знал, что первый уже ушел. Он также решил уйти, для чего выбросил одну рыбу, разделил оставшееся число на три и забрал одну треть. Аналогично поступил и третий рыбак (он не знал, что два его товарища уже ушли, забрав часть улова). Он выбросил одну рыбу и взял треть от оставшихся. Определите минимальное число пойманных рыб и число рыб взятых каждым рыбаком, если известно, что общий улов был не менее n штук.
Входные данные: В первой строке содержится целое число N – общий улов был не менее n штук.
Выходные данные: В первой строке возможное число рыбы, во второй количество рыбы взятой первым, вторым и третьим рыбаком соответственно.
Пример
Вход
5
Выход:
25
8 5 3
#include <bits/stdc++.h>
using namespace std;
int main() {
char a,b,r,p,s;
cin>>a>>b;
if(a==p and b==p){
cout<<p;
}else if(a==r and b==r){
cout<<r;
}else if(a==s and b==s){
cout<<s;
}else if(a==p and b==r){
cout<<s;
}else if(a==r and b==p){
cout<<s;
}else if(a==s and b==r){
cout<<p;
}else if(a==r and b==s){
cout<<p;
}else if(a==p and b==s){
cout<<r;
}else if(a==s and b==p){
cout<<r;
}
return 0;
}
Объяснение:
у меня там ошибка, не могу понять из за чего
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
var m := Length(a, 0);
var n := Length(a, 1);
Result := new integer[n, m];
for var i := 0 to n-1 do begin
for var j := 0 to m-1 do
Result[i, j] := a[m-1-j, i];
end;
end;
begin
var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
var a :=MatrixRandom(n, n);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(a[i,j]);
println;
end;
println;
Println('поворот влево на 90 гр');
var b := Transpose(a);
b:=Transpose(b);
b:=Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот вправо на 90гр');
b := Transpose(a);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот на 180 гр');
b := Transpose(a);
b := Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
end.