Var n,d:integer; begin write('Введите месяц :'); readln(n); write('Введите день :'); readln(d); n:=n mod 12;
case n mod 12 of 1: if d<=20 then writeln('Козерок') else writeln('Водолей'); 2: if d<=21 then writeln('Водолей') else writeln('рыба'); 3: if d<=21 then writeln('рыба') else writeln('овен'); 4: if d<=21 then writeln('овен') else writeln('телец'); 5: if d<=21 then writeln('телец') else writeln('близницы'); 6: if d<=22 then writeln('близницы') else writeln('рак'); 7: if d<=23 then writeln('рак') else writeln('лев'); 8: if d<=24 then writeln('лев') else writeln('дева'); 9: if d<=24 then writeln('дева') else writeln('весы'); 10: if d<=24 then writeln('весы') else writeln('скорпион'); 11: if d<=23 then writeln('скорпион') else writeln('стрелец'); 12: if d<=22 then writeln('стрелец') else writeln('козерок'); end; end.
//без if вряд ли удаться обойтись(+ я не учитывал високосный год и кратный 100 и 400)
Пусть *(n) - число звёздочек, которое выведет процедура f(n).
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то *(n) = 1 при n <= 2 *(n) = 1 + *(n - 1) + *(n - 2) при n > 2.
var n, i:longint;
begin
read(n);
for i:=1 to n do
if n mod i =0 write(i,' ');
end.