Кубик с ребром 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.
using System;
class Program
System.IO.StreamReader file = new System.IO.StreamReader(@"cubes.dat");{
static void Main()
{
int x, x1, x2, x3, x0, y, z, k, n;
string s;
y = int.Parse(file.ReadLine());
file.Close();
x3 = 8;
x1 = (int)Math.Pow(y - 2, 2) * 6;
x0 = (int)Math.Pow(y - 2, 2) * (y - 2);
x2 = (y - 2) * 4 * 2 + (y - 2) * 4;
System.IO.StreamWriter outputFile = new System.IO.StreamWriter(@"cubes.sol");
outputFile.WriteLine("0/" + x0 + " 1/" + x1 + " 2/" + x2 + " 3/" + x3);
outputFile.Close();
}
}