|
Енгізу файлының аты / Имя входного файла: |
D.in |
|
Шығару файлының аты / Имя выходного файла: |
D.out |
|
Есептің жауабы файлының аты / Имя файла решения задачи: |
D.{c,cpp,pas} |
|
Уақыт шектеу / Ограничение по времени: |
2 секунд |
|
Жадыға шектеу / Ограничение по памяти: |
64 мегабайт |
D есебі Үш сан
N бүтін саннан тұратын а1, а2, ..., an тізбегі берілген. Сізге осы тізбекте қосындысы нөлге тең болатын үш санның бар немесе жоқ екендігін тексеру керек.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N (1 ≤ N ≤ 2000) берілген. Келесі жолда
N бүтін сан a1, a2, ..., aN ( - 1000 ≤ ai ≤ 1000) — тізбек элементтері берілген.
Мәліметтерді шығару форматы
Егер тізбекте қосындысы нөлге тең үш сан болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
|
D.in |
D.out |
Комментарий |
|
6 4 14 -6 2 1 22
4 4 -9 2 -1 |
YES
NO |
(4) + (-6) + (2) = 0 |
І тур (А,
В,
С есептері)
A есебі
Факториал
N - Factorial — 1-ден N-ге дейінгі сандардың кобейтіндісі.
Берілген N
саны үшін,
N - Factorialсанының соңында қанша нөл бар екенін анықтаныз.
Мәліметтерді енгізу форматы
Енгізу файлында бір бүтін сан — N
(1 ≤ N ≤ 106) берілген.
Мәліметтерді шығару форматы
N - Factorial санының соңындағы нөлдер санын шығарыңыз.
Мысал / Пример
A.in A.out Комментарий
4610 012
1*2*3*4=241*2*3*4*5*6=7201*2*3*4*5*6*7*8*9*10=3628800
Program
esepA;
label 1;
var n,i,s:integer;
f:longint;
f1,f2:text;
begin
assign(f1,’a.in’); reset(f1);
assign(f2,’a.out’); rewrite(f2);
readln(f1,n);
f:=1;
for i:=1 to n do f:=f*i;
s:=0;
for i:=1 to n do if f mod 10=0 then
begin
s:=s+1;
f:=f div 10;
end
else goto 1;
1:writeln(f2,s);
close(f2); close(f1);
end.
**************************************
Енгізу файлының аты / Имя входного файла:
B.in
Шығару файлының аты / Имя выходного файла:
B.out
Есептің жауабы файлының аты / Имя файла решения задачи:
B.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени:
2 секунд
Жадыға шектеу / Ограничение по памяти:
64 мегабайт
Б есебі Цифрлар
Біз бір-бірімізге хат жазған кезде сандарды жиі қолданамыз. Сізге ағылшын тілінде жазылған сөйлем берілген. Сол сөйлемде кездесетін бүкіл цифрларды табу керек.
Мәліметтерді енгізу форматы
Енгізу файлында ағылшын тілінде жазылған бір сөйлем берілген. Сөйлемнің ұзындығы 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
Program
esepB;
label 1;
var s,z:string;
n,i,j:integer;
f1,f2:text;
begin
assign(f1,’b.in’); reset(f1);
assign(f2,’b.out’); rewrite(f2);
readln(f1,s);
n:=length(s);
z:=’0123456789′;
for i:=1 to 10 do
begin
for j:=1 to n do if s[j]=z[i] then
begin
writeln(f2,z[i]);
goto 1;
end;
1:end;
close(f2); close(f1);
end.
**************************************
Енгізу файлының аты / Имя входного файла:
C.in
Шығару файлының аты / Имя выходного файла:
C.out
Есептің жауабы файлының аты / Имя файла решения задачи:
C.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени:
2 секунд
Жадыға шектеу / Ограничение по памяти:
64 мегабайт
C есебі
Сандар
Сізге N саны және D цифры берілген.
Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды шығарыңыз.
Мәліметтерді енгізу форматы
Енгізу файлында N (1 ≤ N ≤ 7) саны және D
(0 ≤ D ≤ 9) цифры берілген.
Мәліметтерді шығару форматы
Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды өсу ретімен шығарыңыз.
Мысал / Пример
C.in C.out
1 3 0 1 2 4 5 6 7 8 9
Program
esepC;
var n,d,a,b,n1,i,j:longint;
s1,d1:string;
t:boolean;
f1,f2:text;
begin
assign(f1,’c.in’); reset(f1);
assign(f2,’c.out’); rewrite(f2);
readln(f1,n,d);
case n of
1:begin a:=0; b:=9; end;
2:begin a:=10; b:=99; end;
3:begin a:=100; b:=999; end;
4:begin a:=1000; b:=9999; end;
5:begin a:=10000; b:=99999; end;
6:begin a:=100000; b:=999999; end;
end;
for i:=a to b do
begin
t:=false;
str(i,s1); n1:=length(s1);
str(d,d1);
for j:=1 to n1 do if s1[j]=d1 then t:=true;
if not t then writeln(f2, i);
end;
close(f2); close(f1);
end.
ІІ тур (D, E,
F есептері)
D есебі Үш сан
N бүтін саннан тұратын а1, а2, …, an тізбегі берілген. Сізге осы тізбекте қосындысы нөлге тең болатын үш санның бар немесе жоқ екендігін тексеру керек.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N
(1 ≤ N ≤ 200) берілген. Келесі жолда
N бүтін сан a1, a2, …, aN
( - 1000 ≤ ai ≤ 1000) — тізбек элементтері берілген.
Мәліметтерді шығару форматы
Егер тізбекте қосындысы нөлге тең үш сан болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
D.in D.out Комментарий
64 14 -6 2 1 22
4
4 -9 2 -1 YES
NO (4) + (-6) + (2) = 0
Program
esepD;
label 1;
var i,j,k,n:integer;
a:array[1..1000] of integer;
t:boolean;
f1,f2:text;
begin
assign(f1,’d.in’); reset(f1);
assign(f2,’d.out’); rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
t:=false;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
for k:=j+1 to n do
if (a[i]+a[j]+a[k])=0 then
begin t:=true; writeln(f2,’YES’); goto 1 end;
if not t then writeln(f2,’NO’);
1:end.
*************************************
E есебі Кері алмастыру
N саннан тұратын алмастыру дегеніміз 1-ден N-ге дейінгі әр сан бір рет кездесетін тізбек.
b1, b2, …, bN алмастыруы a1, a2, …, aN алмастыруына кері алмастыру болу үшін 1-ден N-ге дейінгі барлықi үшін b[ai] = i болу керек. Берілген екі алмастыру үшін екіншісінін біріншісіне кері алмастыру болатынын немесе болмайтынин анықтаңыз.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N
(1 ≤ N ≤ 1000) берілген. Екінші жолда
N бүтін сан a1, a2, …, aN
(1 ≤ ai ≤ N)— бірінші алмастыру элементтері берілген. Үшінші жолда
N бүтін сан b1, b2, …, bN
(1 ≤ bi ≤ N)— екінші алмастыру элементтері берілген.
Мәліметтерді шығару форматы
Егер екінші алмастыру бірінші алмастыруға кері алмастыру болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
E.in E.out Комментарий
5
4 3 1 5 2
3 5 2 1 4
4
1 4 3 2
2 1 4 3 YES
NO b[a1] = b[4] = 1, b[a2] = b[3] = 2, b[a3] = b[1] = 3, b[a4] = b[5] = 4, b[a5] = b[2] =5
Program
esepE;
var i,n:integer;
a,b:array[1..1000] of integer;
t:boolean;
f1,f2:text;
begin
assign(f1,’e.in’); reset(f1);
assign(f2,’e.out’); rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
for i:=1 to n do read(f1,b[i]);
t:=false;
for i:=1 to n do if b[a[i]]i then t:=true;
if not t then writeln(f2,’YES’) else writeln(f2,’NO’);
end.
*************************************
F есебі Төлем
Бүгін Али жергілікті дүкенде C теңгеге сауда жасады. Али ақшаны төлейін деп жатқан кезде сатушы оған “Өтінемін, қайтарымсыз төлеңізші” деді. Алиде құны a1, a2, …, aN теңге болатын N тиын бар. Сіздің тапсырмаңыз Алидің берілген соманы кайтарымсыз төлей алатын немесе алмайтындығын анықтау.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында екі бүтін сан C
(1 ≤ C ≤ 1000) және N
(1 ≤ N ≤ 15) берілген. Келесі жолда N бүтін сан a1, a2, …, aN
(1 ≤ ai ≤ 1000) — Алидің тиындарының құндары берілген.
Мәліметтерді шығару форматы
Егер Али қайтарымсыз төлей алатын болса «YES» деп шығарыңыз. Төлей алмаса «NO» деп шығарыңыз.
Мысал / Пример
F.in F.out КомментарийЖүктеу
жүктеу мүмкіндігіне ие боласыз
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Информатикадан Мектепшілік олимпиада 5-6-7 сыныптар 8 сынып олимпиада жұмыстары
Информатикадан Мектепшілік олимпиада 5-6-7 сыныптар 8 сынып олимпиада жұмыстары
|
Енгізу файлының аты / Имя входного файла: |
D.in |
|
Шығару файлының аты / Имя выходного файла: |
D.out |
|
Есептің жауабы файлының аты / Имя файла решения задачи: |
D.{c,cpp,pas} |
|
Уақыт шектеу / Ограничение по времени: |
2 секунд |
|
Жадыға шектеу / Ограничение по памяти: |
64 мегабайт |
D есебі Үш сан
N бүтін саннан тұратын а1, а2, ..., an тізбегі берілген. Сізге осы тізбекте қосындысы нөлге тең болатын үш санның бар немесе жоқ екендігін тексеру керек.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N (1 ≤ N ≤ 2000) берілген. Келесі жолда
N бүтін сан a1, a2, ..., aN ( - 1000 ≤ ai ≤ 1000) — тізбек элементтері берілген.
Мәліметтерді шығару форматы
Егер тізбекте қосындысы нөлге тең үш сан болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
|
D.in |
D.out |
Комментарий |
|
6 4 14 -6 2 1 22
4 4 -9 2 -1 |
YES
NO |
(4) + (-6) + (2) = 0 |
І тур (А,
В,
С есептері)
A есебі
Факториал
N - Factorial — 1-ден N-ге дейінгі сандардың кобейтіндісі.
Берілген N
саны үшін,
N - Factorialсанының соңында қанша нөл бар екенін анықтаныз.
Мәліметтерді енгізу форматы
Енгізу файлында бір бүтін сан — N
(1 ≤ N ≤ 106) берілген.
Мәліметтерді шығару форматы
N - Factorial санының соңындағы нөлдер санын шығарыңыз.
Мысал / Пример
A.in A.out Комментарий
4610 012
1*2*3*4=241*2*3*4*5*6=7201*2*3*4*5*6*7*8*9*10=3628800
Program
esepA;
label 1;
var n,i,s:integer;
f:longint;
f1,f2:text;
begin
assign(f1,’a.in’); reset(f1);
assign(f2,’a.out’); rewrite(f2);
readln(f1,n);
f:=1;
for i:=1 to n do f:=f*i;
s:=0;
for i:=1 to n do if f mod 10=0 then
begin
s:=s+1;
f:=f div 10;
end
else goto 1;
1:writeln(f2,s);
close(f2); close(f1);
end.
**************************************
Енгізу файлының аты / Имя входного файла:
B.in
Шығару файлының аты / Имя выходного файла:
B.out
Есептің жауабы файлының аты / Имя файла решения задачи:
B.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени:
2 секунд
Жадыға шектеу / Ограничение по памяти:
64 мегабайт
Б есебі Цифрлар
Біз бір-бірімізге хат жазған кезде сандарды жиі қолданамыз. Сізге ағылшын тілінде жазылған сөйлем берілген. Сол сөйлемде кездесетін бүкіл цифрларды табу керек.
Мәліметтерді енгізу форматы
Енгізу файлында ағылшын тілінде жазылған бір сөйлем берілген. Сөйлемнің ұзындығы 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
Program
esepB;
label 1;
var s,z:string;
n,i,j:integer;
f1,f2:text;
begin
assign(f1,’b.in’); reset(f1);
assign(f2,’b.out’); rewrite(f2);
readln(f1,s);
n:=length(s);
z:=’0123456789′;
for i:=1 to 10 do
begin
for j:=1 to n do if s[j]=z[i] then
begin
writeln(f2,z[i]);
goto 1;
end;
1:end;
close(f2); close(f1);
end.
**************************************
Енгізу файлының аты / Имя входного файла:
C.in
Шығару файлының аты / Имя выходного файла:
C.out
Есептің жауабы файлының аты / Имя файла решения задачи:
C.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени:
2 секунд
Жадыға шектеу / Ограничение по памяти:
64 мегабайт
C есебі
Сандар
Сізге N саны және D цифры берілген.
Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды шығарыңыз.
Мәліметтерді енгізу форматы
Енгізу файлында N (1 ≤ N ≤ 7) саны және D
(0 ≤ D ≤ 9) цифры берілген.
Мәліметтерді шығару форматы
Кұрамында D цифры жоқ бүкіл N-таңбалы сандарды өсу ретімен шығарыңыз.
Мысал / Пример
C.in C.out
1 3 0 1 2 4 5 6 7 8 9
Program
esepC;
var n,d,a,b,n1,i,j:longint;
s1,d1:string;
t:boolean;
f1,f2:text;
begin
assign(f1,’c.in’); reset(f1);
assign(f2,’c.out’); rewrite(f2);
readln(f1,n,d);
case n of
1:begin a:=0; b:=9; end;
2:begin a:=10; b:=99; end;
3:begin a:=100; b:=999; end;
4:begin a:=1000; b:=9999; end;
5:begin a:=10000; b:=99999; end;
6:begin a:=100000; b:=999999; end;
end;
for i:=a to b do
begin
t:=false;
str(i,s1); n1:=length(s1);
str(d,d1);
for j:=1 to n1 do if s1[j]=d1 then t:=true;
if not t then writeln(f2, i);
end;
close(f2); close(f1);
end.
ІІ тур (D, E,
F есептері)
D есебі Үш сан
N бүтін саннан тұратын а1, а2, …, an тізбегі берілген. Сізге осы тізбекте қосындысы нөлге тең болатын үш санның бар немесе жоқ екендігін тексеру керек.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N
(1 ≤ N ≤ 200) берілген. Келесі жолда
N бүтін сан a1, a2, …, aN
( - 1000 ≤ ai ≤ 1000) — тізбек элементтері берілген.
Мәліметтерді шығару форматы
Егер тізбекте қосындысы нөлге тең үш сан болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
D.in D.out Комментарий
64 14 -6 2 1 22
4
4 -9 2 -1 YES
NO (4) + (-6) + (2) = 0
Program
esepD;
label 1;
var i,j,k,n:integer;
a:array[1..1000] of integer;
t:boolean;
f1,f2:text;
begin
assign(f1,’d.in’); reset(f1);
assign(f2,’d.out’); rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
t:=false;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
for k:=j+1 to n do
if (a[i]+a[j]+a[k])=0 then
begin t:=true; writeln(f2,’YES’); goto 1 end;
if not t then writeln(f2,’NO’);
1:end.
*************************************
E есебі Кері алмастыру
N саннан тұратын алмастыру дегеніміз 1-ден N-ге дейінгі әр сан бір рет кездесетін тізбек.
b1, b2, …, bN алмастыруы a1, a2, …, aN алмастыруына кері алмастыру болу үшін 1-ден N-ге дейінгі барлықi үшін b[ai] = i болу керек. Берілген екі алмастыру үшін екіншісінін біріншісіне кері алмастыру болатынын немесе болмайтынин анықтаңыз.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында бір бүтін сан N
(1 ≤ N ≤ 1000) берілген. Екінші жолда
N бүтін сан a1, a2, …, aN
(1 ≤ ai ≤ N)— бірінші алмастыру элементтері берілген. Үшінші жолда
N бүтін сан b1, b2, …, bN
(1 ≤ bi ≤ N)— екінші алмастыру элементтері берілген.
Мәліметтерді шығару форматы
Егер екінші алмастыру бірінші алмастыруға кері алмастыру болса «YES» деп шығарыңыз. Егер болмаса «NO» деп шығарыңыз.
Мысал / Пример
E.in E.out Комментарий
5
4 3 1 5 2
3 5 2 1 4
4
1 4 3 2
2 1 4 3 YES
NO b[a1] = b[4] = 1, b[a2] = b[3] = 2, b[a3] = b[1] = 3, b[a4] = b[5] = 4, b[a5] = b[2] =5
Program
esepE;
var i,n:integer;
a,b:array[1..1000] of integer;
t:boolean;
f1,f2:text;
begin
assign(f1,’e.in’); reset(f1);
assign(f2,’e.out’); rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
for i:=1 to n do read(f1,b[i]);
t:=false;
for i:=1 to n do if b[a[i]]i then t:=true;
if not t then writeln(f2,’YES’) else writeln(f2,’NO’);
end.
*************************************
F есебі Төлем
Бүгін Али жергілікті дүкенде C теңгеге сауда жасады. Али ақшаны төлейін деп жатқан кезде сатушы оған “Өтінемін, қайтарымсыз төлеңізші” деді. Алиде құны a1, a2, …, aN теңге болатын N тиын бар. Сіздің тапсырмаңыз Алидің берілген соманы кайтарымсыз төлей алатын немесе алмайтындығын анықтау.
Мәліметтерді енгізу форматы
Енгізу файлының бірінші жолында екі бүтін сан C
(1 ≤ C ≤ 1000) және N
(1 ≤ N ≤ 15) берілген. Келесі жолда N бүтін сан a1, a2, …, aN
(1 ≤ ai ≤ 1000) — Алидің тиындарының құндары берілген.
Мәліметтерді шығару форматы
Егер Али қайтарымсыз төлей алатын болса «YES» деп шығарыңыз. Төлей алмаса «NO» деп шығарыңыз.
Мысал / Пример
F.in F.out Комментарий
шағым қалдыра аласыз













