Помогите исправить решения задач:
1.Заполните массив случайными числами в интервале [0,1000] и найдите количество элементов, старшая цифра которых равна 8.
В решение нужно записать 2-4 строчки более простым способом.
from random import randint
def getH(s):
while s>10:
s=s//10
return s
n=int(input('Введите размер массива: '))
a=[0]*n
b=0
for i in range(0, n-1):
a[i]=randint(0, 1000)
if getH(a[i])==8:
b+=1
print(a)
print('Элементов начинающихся с 8 =',b) 2. Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.
Заменить первую строчку
a=sorted(a)
i=1
b=1
print('3 минимальных элемента')
print(a[0])
while b<3 and b
if a[i]!=a[i-1]:
print(a[i])
b+=1
i+=1
Ответы
Ответ дал:
0
Ответ:
Python
from random import randint
n=int(input('Введите размер массива: '))
a=[0]*n
b=0
for i in range(0, n-1):
a[i]=randint(0, 1000)
# это часть для замены функции getH
c=a[i]
if a[i]>=100: c=a[i]//100
elif a[i]>10: c=a[i]//10
# конец определения первой цифры
if c==8:
b+=1
print(a)
print('Элементов начинающихся с 8 =',b)
# задание 2
# это вместо sorted.
i=1
while i<n:
if a[i]<a[i-1]:
z=a[i-1]
a[i-1]=a[i]
a[i]=z
if i>1:
i-=1
else: i+=1
# конец сортировки
i=1
b=1
print('3 минимальных элемента')
print(a[0])
while b<3 and b<n:
if a[i]!=a[i-1]:
print(a[i])
b+=1
i+=1
Приложения:
![](https://st.uroker.com/files/2d5/2d55b0ad7745d2b7832d2faa8a5f11d5.png)
mirageKZ:
Так пойдёт?
n=int(input('Введите размер массива: '))
a=[0]*n
for i in range(0, n-1):
a[i]=randint(0, 1000)
print(a)
# это вместо sorted.
i=1
while i if a[i] z=a[i-1]
a[i-1]=a[i]
a[i]=z
if i>1:
i-=1
else: i+=1
# конец сортировки
i=1
b=1
print('3 минимальных элемента')
print(a[0])
while b<3 and b if a[i]!=a[i-1]:
print(a[i])
b+=1
i+=1
Вас заинтересует
1 год назад
1 год назад
1 год назад
7 лет назад
8 лет назад