Программа:
num = input()
print("YES" if num[-1] in ["2", "3"] and int(num) % 3 == 0 and len(num) == 3 else "NO")
Сложна для понимания, поэтому приведу 2-ой вид программы:
num = input()
if len(num) == 3 and num[-1] in ["2", "3"] and int(num) % 3 == 0:
print("YES")
else:
print("NO")
Конечно, можно и через операторы % и // сделать:
num = int(input())
count = 0 # Переменная-счётчик кол-ва цифр в числе
last_num = num # Переменная для последней цифры в числе
num_c = num
while num_c:
num_c = num_c // 10
count += 1
if count == 3: # Проверка на кол-во цифр в числе
last_num = last_num // 10 # Например, 123 -> 12
last_num = last_num % 10 # 12 -> 2
if num % 3 == 0 and (last_num == 2 or last_num == 3):
print("YES")
else:
print("NO")
else:
print("NO")
Program qw;
uses crt;
Type
Atlas=Record
country,capital:string;
area,people:real;
end;
ps=File of atlas;
Var f:ps;
z,t:atlas;
Begin
assign(f,'1.dat');
rewrite(f);
z.country:='Латвия'; z.area:=67.7;
z.people:=2.6; z.capital:='Рига';
write(f,z);
z.country:='Литва'; z.area:=65.2;
z.people:=3.4; z.capital:='Вильнюс';
write(f,z);
z.country:='Польша'; z.area:=313;
z.people:=34.8; z.capital:='Варшава';
write(f,z);
z.country:='Украина'; z.area:=603.7;
z.people:=50; z.capital:='Киев';
write(f,z);
z.country:='Россия'; z.area:=17075.4;
z.people:=139; z.capital:='Москва';
write(f,z);
Close(f);
assign(f,'1.dat');
reset(f);
read(f,t);
while not(eof(f)) do
begin
read(f,z);
if t.people/t.area < z.people/z.area then t:=z;
end;
close(f);
writeln('Cтранa с наибольшей плотностью населения:');
writeln(t.country,' (плотность населения равна ',t.people/t.area:9:6,' млн на кв.км)');
end.