Решим задание наоборот: 12 -> 8, 31 -> 14, команды меняем на противоположные.
Команда 1: подели на 3.
Команда 2: прибавь 5.
12 -> 8.
12 : 3 = 4 (1).
4 + 5 = 9 (2).
9 : 3 = 3 (1).
3 + 5 = 8 (2).
Пишем команды снизу-вверх: 2121.
31 -> 14.
31 + 5 = 36 (2).
36: 3 = 12 (1).
12 : 3 = 4 (1).
4 + 5 = 9 (2).
9 + 5 = 14 (2).
Пишем снизу-вверх: 22112.
using System;
using System.Collections.Generic;
public class Task
{
public static void Main()
{
//Два вещественных числа на одной строке с любым числом пробелов
Console.WriteLine("Введите коэффициенты a, b:");
var s = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
double a = Convert.ToDouble(s[0]);
double b = Convert.ToDouble(s[1]);
Console.WriteLine("Решения уравнения ({0})*x^3+({1})*x=0:", a, b);
//a*x^3+bx=0
//x(a*x^2+b)=0
//x = 0 или x = +-sqrt(-b/a)
List<double> roots = new List<double>();
roots.Add(0);
const double eps = 1e-7; //точность для сравнения с нулем вещественных чисел
if (Math.Abs(a) < eps)
{
if (Math.Abs(b) < eps)
{
Console.WriteLine("Бесконечное количество решений");
return;
}
}
else
{
double c = -b/a;
if (c > eps)
{
c = Math.Sqrt(c);
roots.Add(-c);
roots.Add(c);
}
}
foreach(var x in roots)
{
Console.Write("{0} ", x);
}
Console.WriteLine();
}
}
8бит=1байта
16бит=2байта
8*32*64*2=32768байт переводим в Кбайты 1Кбайт=1024байта
32768/1024=32Кбайт
На одно число отведено 5 бит
всего чисел 2^5=32 => K=32
Program gt;
var n,i,a:integer;
begin
read(N);
a:=n div 4;
for i:=1 to a do
begin
if((n-i*4)mod 2=0)then writeln((n-i*4),' лап гусей и ',i*4,' лап заёцев');
end;
<span>end.</span>