// F#
[<EntryPoint>]
let main argv =
let getRandomCollection n =
let rand = new System.Random()
Array.map (fun x -> rand.Next(-10, 10)) [| 1..n |]
let inputArray = getRandomCollection 15
printf "source array: %A\n" (inputArray |> Array.toList)
// First part
printf "numberToCheckOnEqual: "
let numberToCheckOnEqual = System.Console.ReadLine() |> System.Int32.Parse
let indecesEqualsToNumber =
inputArray
|> Array.mapi (fun i x -> (x, i))
|> Array.filter (fun (x, i) -> x = numberToCheckOnEqual)
|> Array.map (fun (x, i) -> i)
|> Array.toList
printf "%d equals to %d: %A\n" (indecesEqualsToNumber |> List.length) numberToCheckOnEqual indecesEqualsToNumber
// Second part
printf "a: "
let a = System.Console.ReadLine() |> System.Int32.Parse
printf "b: "
let b = System.Console.ReadLine() |> System.Int32.Parse
let sum =
inputArray.[a..b]
|> Array.sum
printf "sum of array [%d..%d]: %d\n" a b sum
// Last part
let finalArray =
inputArray
|> Array.map (fun x -> if x < 0 then x*x else x)
printf "final array: %A" finalArray
System.Console.ReadKey true |> ignore
0
Если я не ошибаюсь, то двоек здесь 1997, т. к если из 10 в степени 2000 вычесть 10 в степени 3, то получиться три нуля и 1997 двоек, а когда прибавляем 10 в степени 2017 количество двоек не увеличивается и не уменьшается
10 - это 3 в троичной системе счисления
1)
1) Но ты учти, что массив заполняется рандомна и числа в промежутке от 0 до 100, если хочешь больше, то анологию надеюсь понял
var a:array [1..10] of integer;i,k,f:integer;beginfor i:=1 to 10 do begina[i]:=random(101);end;write (a,' ');
writeln;k:=0;f:=0;
for i:=1 to 10 do beginif a[i]=3 thenk:=k+a[i];if (a[i]>9) and (a[i]<101) thenf:=a[i] mod 10;if f=3 thenk:=k+a[i];end;writeln (k);end.
var
x,days,y:integer;
begin
readln(x)
y=0;
days=0;
while y<x do
begin
days=days+1;
y=y+4-3;
end;
writeln('количество дней :' , days);
END.