|
# тізімді құру, # өсуі бойынша сұрыптау
|
бет | 4/4 | Дата | 07.02.2022 | өлшемі | 80,09 Kb. | | #92960 |
| Байланысты: алгоритм # тізімді құру, # өсуі бойынша сұрыптау # экранға шығару a = [] for i in range(15): a.append(randint(1, 50)) a.sort() print(a) # ізделінді сан value = int(input()) mid = len(a) // 2 low = 0 high = len(a) - 1 while a[mid] != value and low <= high: if value > a[mid]: low = mid + 1 else: high = mid - 1 mid = (low + high) // 2 if low > high: print("No value") else: print("ID =", mid) Жай санды анықтау - Санның бөлінгіштері арқылы оның жай немесе құрама сан екенін анықтау.
- Жай сан – бұл бірден үлкен 1-ге және өзіне ғана бөлінетін сан.
- Мысалы, 5 саны жай сан, себебі оның бөлгіштері 1 және 5.
- 10 саны құрама, себебі оның бөлгіштері 1, 2, 5 және 10.
Алгоритмде қарастырылатын сандар берілген санның квадрат түбірінен кіші немесе тең санға дейін жүргізіледі. - Егер осы аралықтағы бір сан берілген санды қалдықсыз бөлетін болса, онда сан құрама, ал ондай бөлгіш табылмаса жай сан болып табылады.
from math import sqrt n = int(input()) if n < 2: print(«енгізілген сан 1 үлкен болуы тиіс") quit() elif n == 2: print(«жай сан") quit() i = 2 # алғашқы бөлгіш limit = int(math.sqrt(n)) while i <= limit: if n % i == 0: print(«құрама сан") quit() # программадан шығу i += 1 # келесі бөлгішті алу print(«жай сан") Санның цифрларының қосындысы мен көбейтіндісі Сан берілген. Санның цифрларының қосындысы мен көбейтіндісін тап. - Мысалы:
- 475
- Қосындысы: 4 + 7+5 = 16.
- Көбейтіндісі: 4*7*5 = 140.
n – берілген сан, sum –цифрларының қосындысы, ал mult – көбейтіндісі. Алгоритм: 1.suma мәні ноль. 2. mult мәні 1. 3. Әзірше n нолден үлкен болғанша: - n-ді 10-ға бөліп, оның соңғы цифрын алу.
- алынған цифрды қосындыға қосып, көбейтіндіні сонша есе арттыру керек. - санның соңғы разрядына 10 бүтін бөлу арқылы арылу қажет.
a = abs(int(input())) suma = 0 mult = 1 while a > 0: digit = a % 10 suma += digit mult *= digit a = a // 10 print(«Қосынды:", suma) print(«Көбейтінді:", mult) n = input() print(n,type(n)) suma = 0 mult = 1 for i in n: suma += int(i) mult *= int(i) print(suma) print(mult) Факториалды есептеу n = int(input()) factorial = 1 while n > 1: factorial *= n n -= 1 print(factorial) n = int(input()) factorial = 1 for i in range(2, n+1): factorial *= I print(factorial) def fac(n): if n == 0: return 1 return fac(n-1) * n print(fac(5)) math.factorial(10) Таңдап сұрыптау - Алгоритм: өңделмеген аралықта ең кіші элементті тауып оны бірінші элементпен ауыстыру.
- Келесі қадамда өңделмеген аралық бір элементке кемиді.
1.Тізімнен ең кіші элементті табу. 2.Осы элемент пен бірінші элементтердің орнын ауыстыр. 3. Енді кіші элементті іздеу екінші элементтен басталады. 4.Элементті іздеу және ауыстыру тізімнің соңына дейін жүр гізіледі. from random import randint def sel_sort(array): for i in range(len(array) - 1): m = i j = i + 1 while j < len(array): if array[j] < array[m]: m = j j = j + 1 array[i], array[m] = array[m], array[i] a = [] for i in range(10): a.append(randint(1, 99)) print(a) sel_sort(a) print(a)
Достарыңызбен бөлісу: |
|
|