18.12.2013 ОЛИМПИАДА. 9-11 сыны І-тур 1-3 есеп (1-нұсқа).

Жақаев Мұхаметжан. Жамбыл облысы. Шу қаласы, “Жібек Жолы” мектеп-лицейі.

Есептер паскальАВС-те тексерілген.

1 есеп. Сандар
Сізге N саны және D цифры берілген. Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды шығарыңыз.

Мәліметтерді енгізу форматы
Енгізу файлында N (1 ≤ N ≤ 7) саны және D (0 ≤ D ≤ 9) цифры берілген.
Мәліметтерді шығару форматы
Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды өсу ретімен шығарыңыз.

Мысал / Пример
C.in   N D 2  5
C.out
10   11   12   13   14   16   17   18   19   20   21   22   23   24   26   27   28   29   30   31   32   33   34   36   37   38   39   40   41   42   43   44   46   47   48   49   60   61   62   63   64   66   67   68   69   70   71   72   73   74   76   77   78   79   80   81   82   83   84   86   87   88   89   90   91   92   93   94   96   97   98   99

Задача Числа
Вам даны число N и цифра D. Выведите все N-значные числа, которые не содержат цифру D, в возрастающем порядке.

Формат входных данных
В единственной строке входного файла записаны число N (1 ≤ N ≤ 7) и цифра D (0 ≤ D ≤ 9).
Формат выходных данных
В выходном файле выведите все N-значные числа, которые не содержат цифру D, по одному в одной строке.

program chisla_ND;
var i,n,c,a,k:longint;
d,y:integer;
label 10;

begin
write(‘ vvedite N, D ‘);
read(n,d);
for i:=round(Power(10,n-1)) to Round(Power(10,n)-1) do
begin
for y:=0 to n do
begin c:=i; a:=n-1; k:=Round(exp(ln(10) * a));
if (c mod k)=d then goto 10
else begin c:=(c mod k); a:=a-1;end;
if y=n-1 then write(y);
10: end;
end;
end.

2 есеп Факториал
N - Factorial — 1-ден Nге дейінгі сандардың кобейтіндісі. Берілген N саны үшін, N - Factorial санының соңында қанша нөл бар екенін анықтаныз.

Мәліметтерді енгізу форматы
Енгізу файлында бір бүтін сан —  N (1 ≤ N ≤ 106) берілген.
Мәліметтерді шығару форматы
N - Factorial санының соңындағы нөлдер санын шығарыңыз.

Мысал / Пример

A.in A.out Комментарий
4
6
10
0
1
2
1*2*3*4=24
1*2*3*4*5*6=720
1*2*3*4*5*6*7*8*9*10=3628800

Задача 2 Четные
N - Factorial — это произведение всех чисел от 1 до N. Для заданного числа N определите, сколько нулей в конце десятичной записи N - Factorial.

Формат входных данных
В единственной строке входного файла содержится одно целое положительное число N (1 ≤ N ≤ 106).
Формат выходных данных
Выведите одно целое число — количество нулей в конце десятичной записи N - Factorial

program faktorial_0;
var f,s:longint;
i,n:integer;
begin
{assign(input,А.in);reset(input);
assign(output,А.out); }
writeln(‘n= ‘);read(n);f:=1;
for i:=1 to n do f:=f*i;
s:=0;
repeat
if f mod 10=0 then s:=s+1;
f:=f div 10;
until f<=0;
write(‘0-der: ‘,s); {rewrite(output);close;}
end.

3 есеп Цифрлар
Біз бір-бірімізге хат жазған кезд есандарды жиі қолданамыз. Сізге ағылшын тілінде жазылған сөйлем берілген. Сол сөйлемде кездесетін бүкіл цифрларды табу керек.

Мәліметтерді енгізу форматы
Енгізу файлында ағылшын тілінде жазылған бір сөйлем берілген. Сөйлемнің ұзындығы 100 символдан аспайды.
Мәліметтерді шығару форматы
Берілген сөйлемде кездесетін бүкіл цифрларды өсу ретімен жазыңыз.

Мысал / Пример
B.in
I owe you 491 tenge and I will return it when I will be in university at 15:22
B.out
12459
Задача  Цифры
Когда мы переписываемся, мы часто используем цифры в нашем тексте. Вам дано одно предложение на английском языке. Нужно найти все цифры, которые встречаются в этом предложений хотя бы один раз.

Формат входных данных
В единственной строке входного файла содержится одно предложение на английском языке, которое состоит из не более чем 100 символов.
Формат выходных данных
В единственной строке выходного файла выведите все цифры, которые встречаются в данном предложений хотя бы один раз, в возрастающем порядке.

program cifry;
Var ch:char;
x:string;
r,s,i,j,n:integer;
y:array [1..1000] of integer;
Begin
{assign(input,c.in);reset(input);
assign(output,c.out);} write(‘agylshyn soilemin engiziniz ‘);
Read (x); {agylshyn soilemin engizu}
i:=0;s:=0;n:=Length(x); {n -soilem uzyndygy}
for i:=1 to n do
begin ch:=x[i];
if (ch>=’0′) and (ch<=’9′) then begin y[s+1]:=StrToInt(x[i]);s:=s+1;end; end; for j:=1 to s-1 do for i:=1 to s-j do begin if y[i] > y[i+1] then begin r:=y[i];y[i]:=y[i+1];y[i+1]:=r;end;
if y[i] = y[i+1] then begin y[i]:=y[i+1];y[i+1]:=0;end;
end;
for i:=1 to s do if y[i]<>0 then write(y[i],’ ‘);
{ rewrite(output);
close(input);close(output); }
End.

Check Also

Информатитка пәнінен олимпиадаға даярлаудың тиімді жолдары

Жуалы ауданы, №2 Мыңбұлақ орта мектебі информатика пәні мұғалімі Сабиев Бахытжан Төребайұлы.  Олимпиада – бұл …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.