Const
N = 30;
Var
a: array [1..N] of integer;
MaxEv, MaxOdd, I: integer;
begin
for i := 1 to N do
begin
write('a[', i , '] = ');
readln(a[i]);
end;
MaxEv := 0;
MaxOdd := 0;
For I := 1 to N do { перебираем все элементы массива}
if a[i] mod 2 = 0 then { проверяем делится ли текущий элемент на 2 без остатка}
begin
if a[i] > MaxEv then {если да, то проверяем больше ли найденного до этого наибольшего четного}
MaxEv := a[i]; {присваиваем новое наибольшее четное значение}
end
else
if a[i] > MaxOdd then {если нет, то проверяем больше ли найденного до этого наибольшего нечетного}
MaxOdd := a[i]; {присваиваем новое наибольшее нечетное значение}
Writeln ('MaxEv - MaxOdd = ', MaxEv, ' - ', MaxOdd, ' = ', MaxEv - MaxOdd);
end.
Ответ:
1.
86₁₀ = 0*2⁰ + 1*2¹ + 1*2² + 0*2³ + 1*2⁴ + 0*2⁵ + 1*2⁶ = 1010110₂
86₁₀ = 6*8⁰ + 2*8¹ + 1*8² = 126₈
86₁₀ = 6*16⁰ + 5*16¹ = 56₁₆
111010₂ = 0*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 1*2⁵ = 58₁₀
58₁₀ = 2*8⁰ + 7*8¹ = 72₈
58₁₀ = 10*16⁰ + 3*16¹ = 3A₁₆
46₈ = 6*8⁰ + 4*8¹ = 38₁₀
38₁₀ = 0*2⁰ + 1*2¹ + 1*2² + 0*2³ + 0*2⁴ + 1*2⁵ = 100110₂
38₁₀ = 6*16⁰ + 2*16¹ = 26₁₆
2F₁₆ = F*16⁰ + 2*16¹ = 47₁₀
47₁₀ = 1*2⁰ + 1*2¹ + 1*2² + 1*2³ + 0*2⁴ + 1*2⁵ = 101111₂
47₁₀ = 7*8⁰ + 5*8¹ = 57₈
55₁₀ = 1*2⁰ + 1*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ = 110111₂
55₁₀ = 7*8⁰ + 6*8¹ = 67₈
55₁₀ = 7*16⁰ + 3*16¹ = 37₁₆
2.
76₈ < 93₁₀ < 1101111₂ < A9₁₆
1101111₂ = 1*2⁰ + 1*2¹ + 1*2² + 1*2³ + 0*2⁴ + 1*2⁵ + 1*2⁶ = 111₁₀
A9₁₆ = 9*16⁰ + A*16¹ = 169₁₀
76₈ = 6*8⁰ + 7*8¹ = 62₁₀
93₁₀ = = 93₁₀
3.
110111₂ = 1*2⁰ + 1*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ = 55₁₀
135₈ = 5*8⁰ + 3*8¹ + 1*8² = 93₁₀
55₁₀ + 93₁₀ = 148₁₀
148₁₀ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 0*2⁵ + 0*2⁶ + 1*2⁷ = 10010100₂
ответ 4. 10010100₂
package com.company;
public class Main {
public static void main(String[] args) {
double x = 1.5, y;
y = x * x + Math.sqrt(x) / 15;
System.out.println("Function: " + y);
}
}
// F#
[<EntryPoint>]
let main argv =
let rec ( ** ) x n =
match n < 1 with
| true -> 1
| false -> x * (x ** (n-1))
let rec sumDigits x =
match x with
| x when x < 10 -> (x, 1)
| x ->
let res = x / 10 |> sumDigits
((res |> fst) + (x % 10), (res |> snd) + 1)
let isArmstrong x =
let digitsInfo = sumDigits x
x = (fst digitsInfo) ** (snd digitsInfo)
let a = System.Console.ReadLine() |> System.Int32.Parse
let b = System.Console.ReadLine() |> System.Int32.Parse
let result = [a..b] |> List.filter (isArmstrong)
printf "Result: %A" result
System.Console.ReadKey true |> ignore
0