• Предмет: Информатика
  • Автор: bitbetmypdwrae
  • Вопрос задан 7 лет назад

Кубик с ребром N см покрасили и разрезали на кубики с ребром 1 см. При этом появились такие, у которых окрашено разное количество граней. Например, если N = 3, то после разрезания будет 8 кубиков, у которых окрашено три грани, 12 с двумя гранями, 6 с одной, а один кубик будет совсем неокрашенный. Составьте программу, которая бы определяла, сколько кубиков с каждой возможным количеством окрашенных граней.

Нужно перевести этот Pascal код в C#

program cubes;
uses crt;
var x,x1,x2,x3,x0,y,z,k,n:integer;
s:string; f,g:text;
begin
assign(f,'cubes.dat');
reset(f);
readln(f,y);
close(f) ;
x3:=8;
x1:=sqr(y-2)*6;
x0:=(sqr(y-2))*(y-2);
x2:=(y-2)*4*2+(y-2)*4;
assign(g,'cubes.sol');
rewrite(g);
writeln(g,'0/',x0,' 1/',x1,' 2/',x2,' 3/',x3);
close(g);
end.

Ответы

Ответ дал: Giammy
0

using System;

using System.IO;

using System.Linq;


namespace ConsoleApp

{

class Program

{

static void Main(string[] args)

{

var y = Convert.ToInt32(File.ReadAllText("cubes.dat").First().ToString());

int x3 = 8;

int x1 = (int)Math.Pow(y - 2,2) * 6;

int x0 = (int) Math.Pow(y - 2,2) * (y - 2);

int x2 = (y - 2) * 4 * 2 + (y - 2) * 4;

File.WriteAllText("cubes.sol", "0/" + x0 + " 1/" + x1 + " 2/" + x2 + " 3/" + x3);

}

}

}

Вас заинтересует