У исполнителя Калькулятор две команды, которым присвоены номера: 1 — прибавь 2; 2 — умножь на n. Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, увеличивает число на экране в n раз. Программа для исполнителя — это последовательность номеров команд. Известно, что программа 112121 преобразует число 2 в число 106.
Определите значение n, если известно, что оно натуральное.
using System;
using System.Linq;
namespace Prog
{
public class Program
{
public static void Main(string[] args)
{
Random rnd = new Random();
int len = rnd.Next(5,30);
int[] A = new int[len];
for (int i = 0; i < len; i++)
A[i] = rnd.Next(-50, 50);
Console.WriteLine("{0}", string.Join(" ", A));
var B = Array.FindAll(A, i => i >= A[Array.IndexOf(A, A.Max())-1]);
foreach (int i in B)
Console.Write(i+" ");
}
}
}
как я понял по данным задачи К больше или равно А то есть начальное значение S = A, вторую ошибку можно решить просто поменяв местами операторы 7-ой и 8-ой строки(чтобы сначала программа суммировала S=15+15 а потом уже 30+16,46+18...пока S<B а в задаче делается так 16+1,16+17, 30+18,...) в общем:
var a, b, s, k: integer;begin
read(a,b);
s := a;<
k := a;
while s < b do begins := s+k;<k := k+1;<end;writeln(k)end.
если
a=15 b=36
ответ будет :15