Нужно, чтобы при выводе переменная a = 4, b = 0. Алгоритм работает так: к "a" прибавляет единицу при условии, что оно четное, к "b", если нечетное. Поэтому нужно найти число, которое четырехзначное и четное, учитывая, что после каждого прогона цикла, число делят на 10, то есть "отсекают" последнюю цифру числа.
У меня получилось минимальное - 2000.
1) c = 2000 mod 2; c = 0 -> a = 0 + 1. x = 2000 div 10. 2) c = 200 mod 2; c = 0 -> a = 1 + 1. x = 200 div 10. 3) c = 20 mod 2. c = 0 -> a = 2 + 1. x = 20 div 10. 4) c = 2 mod 2. c = 0 -> a = 3 + 1. x = 2 div 10.
var i,j,n:longint; f:boolean; begin writeln('Введите число'); readln(n); if n<2 then writeln('Простых делителей нет') else begin write('Число ',n,' ','= 1'); for i:=2 to n do if n mod i=0 then begin f:=true; j:=2; while f and(j<=round(sqrt(i/2)))do begin if i mod j=0 then f:=false else j:=j+1; end; if f then write('*',i); end; end; end.
Тестовое решение:
Введите число 2345 Число 2345 = 1*5*7*35*67
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку