Айдар Python тілінде натурал санның цифрларын талдайтын программа жазды. % амалы бөлгендегі қалдықты, ал // амалы бөлудің бүтін бөлігін береді. Программа a санын оқиды да, циклде оны соңынан бастап талдайды: соңғы d цифрын алады, содан кейін оны алып тастайды. Егер цифр жұп болса, ол s қосындысына қосылады, ал тақ болса, k есептегіші 1-ге артады. Соңында программа бірінші жолға s, екінші жолға k шығарады. Программаның мәтіні:
a = int(input())
s = 0
k = 0
while a > 0:
d = a % 10
if d % 2 == 0:
s = s + d
else:
k = k + 1
a = a // 10
print(s)
print(k)
Тексеру үшін Айдар әртүрлі сандарды енгізді, мысалы 52714 және 90310. Кейін ол программаны s тақ цифрлардың қосындысын жинайтындай, ал k жұп цифрларды санайтындай етіп өзгертуді ойлады.
Қандай сан енгізілгенде программа бірінші жолға 0, екінші жолға 3 шығарады?
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру
Дұрыс жауап
- D135
Талдау
Бірінші жолдағы 0 жұп цифрлар қосындысы 0 екенін, екінші жолдағы 3 үш тақ цифр бар екенін білдіреді. «135» саны үш тақ цифрдан тұрады, сондықтан s = 0 және k = 3. «246» саны 12 және 0, «105» саны 0 және 2, «802» саны 10 және 0 береді.