В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Englismen
Englismen
26.06.2022 19:28 •  Информатика

Решить на языке программирования golang(или просто go) : (нужно написать программу)
последовательность состоит из натуральных чисел и завершается числом 0. определите количество элементов этой последовательности, которые равны ее наибольшему элементу.

формат входных данных

вводится непустая последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

формат выходных данных

выведите ответ на .
пример данных:
1
3
3
1
0
получается 2 (т.к. у нас два наибольших элемента .(две тройки) )
или хотя бы поправьте моё решение(у меня почему-то выдает 1 вместо 2) :
package main
import "fmt"
func main() {
var a,n,i,maxi int
maxi=0
n=0
for i! =0{
if a> maxi {
maxi=a
n=1
} else if a==maxi {
n+=1
}
fmt.scan(& a)
}
fmt.println(n)
}

Показать ответ
Ответ:
lailasarsenbaev
lailasarsenbaev
17.04.2020 19:08

1) 89₁₀ = 1011001₂

2) 600₁₀ = 100101100₂

3) 2010₁₀ = 11111011010₂

1) 513₁₀ = 1001₈

2) 600₁₀ = 1130₈

3) 2010₁₀ = 3732₈

Объяснение:

1)

89 / 2 = 44 + остаток 1

44 / 2 = 22 + остаток 0

22 / 2 = 11 + остаток 0

11 / 2 = 5 + остаток 1

5 / 2 = 2 + остаток 1

2 / 2 = 1 + остаток 0

1 / 2 = 0 + остаток 1

записываем остатки снизу вверх

89₁₀ = 1011001₂

2)

600 / 2 = 300 + остаток 0

300 / 2 = 150 + остаток 0

150 / 2 = 75 + остаток 0

75 / 2 = 37 + остаток 1

37 / 2 = 18 + остаток 1

18 / 2 = 9 + остаток 0

9 / 2 = 4 + остаток 1

4 / 2 = 2 + остаток 0

2 / 2 = 1 + остаток 0

1 / 2 = 0 + остаток 1

записываем остатки снизу вверх

600₁₀ = 100101100₂

3)

2010 / 2 = 1005 + остаток 0

1005 / 2 = 502 + остаток 1

502 / 2 = 251 + остаток 0

251 / 2 = 125 + остаток 1

125 / 2 = 62 + остаток 1

62 / 2 = 31 + остаток 0

31 / 2 = 15 + остаток 1

15 / 2 = 7 + остаток 1

7 / 2 = 3 + остаток 1

3 / 2 = 1 + остаток 1

1 / 2 = 0 + остаток 1

записываем остатки снизу вверх

2010₁₀ = 11111011010₂

1)

513 / 8 = 64 + остаток 1

64 / 8 = 8 + остаток 0

8 / 8 = 1 + остаток 0

1 / 8 = 0 + остаток 1

записываем остатки снизу вверх

513₁₀ = 1001₈

2)

600 / 8 = 75 + остаток 0

75 / 8 = 9 + остаток 3

9 / 8 = 1 + остаток 1

1 / 8 = 0 + остаток 1

записываем остатки снизу вверх

600₁₀ = 1130₈

3)

2010 / 8 = 251 + остаток 2

251 / 8 = 31 + остаток 3

31 / 8 = 3 + остаток 7

3 / 8 = 0 + остаток 3

записываем остатки снизу вверх

2010₁₀ = 3732₈

0,0(0 оценок)
Ответ:
akovlevavika444
akovlevavika444
09.02.2020 14:18

Program A1;
var a:array[1..30] of integer;
      amax,amin,i,imin,imax,n,s:integer;
begin
writeln('введите n элементов массива');
readln(n);
for i:=1 to n do a[i]:=random(30);
writeln('введённый массив имеет вид');
for i:=1 to n do write(a[i], '  ');
writeln;
amax:=a[1]; imiax:=1;
for i:=2 to n do 
if a[i]>amax then begin amax:=a[i]; imax:=i; end;
amin:=a[1]; imin:=1;
for i:=2 to n do 
if a[i]<amin then begin amin:=a[i]; imin:=i; end;
writeln('полученный массив имеет вид');
s:=a[imin];

a[imin]:=a[imax];

a[imax]:=s;
for i:=1 to n do 
writeln(a[i],'  ');
end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота