Сандар теориясы” бөлімінің есептері

Есептерді шығаруға қажетті қосымша мәліметтер:

  • Жай сан – 1-ден үлкен және 1 мен өзіне ғана бөлінетін бүтін сан.
  • Кемел сан (совершенное число) - өзіне дейінгі бөлгіштерінің қосындысына тең болатын сан (санның өзін қоспағанда).
  • Достас сандар - әрқайсысы екіншісінің дұрыс бөлгіштерінің қосындысына тең болатын сандар жұбы.
  • Қатар периоды – мәтіннің қайталанатын бөлігі.

Есеп: Берілген санның жай сан болатынын анықтау керек.

Паскальдағы программасы:

var n,i,k: integer;begin writeln ('sandi endir:'); readln (n); k:=0; {=бөлгіштердің санын анықтау=} for i:=1 to Round (n/2) do if n mod i=0 then k:=k+1; if k=2 then writeln (n,' – zhai san') else writeln (n,' – zhai san emes');end.

Тест:

Берілгені:
Нәтиже: 8 – zhai san emes 11 – zhai san

Есеп: [a, b] аралығындағы барлық жай сандарды табу керек.

Паскальдағы программасы:

var a,b,n,i,k: integer;begin writeln ('aralyqtin shekaralarin endir:'); readln (a,b); writeln ('zhai sandar:'); for n:=a to b do begin k:=0; {= бөлгіштердің санын анықтау =} for i:=1 to Round (Sqrt(n)) do if n mod i=0 then k:=k+1; if k=2 then write(n);end;end.

Тест:

Берілгені: 10, 100
Нәтиже: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

Есеп: Берілген бүтін сан – кемел сан ба?

Паскальдағы программасы:

var n,i,s: integer;begin writeln ('sandi endir:'); readln (n); s:=0; {==Bolgishter qosyndysyn tabu==} for i:=1 to (n div 2) do if n mod i=0 then s:=s+i; if s=n then writeln ('Kemel san'); else writeln ('Kemel san emes');end.

Тест:

Берілгені:
Нәтиже: Kemel san

Есеп: [a, b] аралығындағы барлық кемел сандарды табу керек.

Паскальдағы программасы:

var a,b,n,i,s: integer;begin writeln ('aralyqtin shekaralarin endir:'); readln (a,b); writeln ('Kemel sandar:'); for n:=a to b do begin s:=0; {==Bolgishter qosyndysyn tabu==} for i:=1 to (n div 2) do if n mod i=0 then s:=s+i; if s=n then write(n,' '); end;end.

Тест:

Берілгені: 0 100
Нәтиже: 6 28

Есеп: Берілген екі бүтін сан өзара достас сандар ма?

Паскальдағы программасы:

var n,m,i,s1,s2: integer;begin writeln ('Eki san endir:'); readln (n,m); s1:=0; s2:=0; {=n-di bolgishterdin qosyndysyn tabu=} for i:=1 to (n div 2) do if n mod i=0 then s1:=s1+i; {=m-di bolgishterdin qosyndysyn tabu =} for i:=1 to (m div 2) do if m mod i=0 then s2:=s2+i; if (s2=n) and (s1=m) then writeln ('Sandar ozara dostas') else writeln ('Sandar ozara dostas emes');end.

Тест:

Берілгені: 220 284
Нәтиже: Sandar ozara dostas

Есеп: Берілген мәтіндегі периодты анықтау керек

Шешу идеясы: алдымен жолдық қатардың ұзындығы k анықталады, сосын k-ның барлық бөлгіштері t табылып, мәтіндегі ұзындығы t -ға тең барлық ішкі мәтіндер өзара салыстырылады.

Паскальдағы программасы:

var n,i,j,k,x,t,period: integer; a:string;begin writeln ('matindi endir:'); readln (a); n:=length(a); for i:=1 to n do begin k:=0; if n mod i=0 then begin t:=n div i; x:=1; for j:=1 to i-1 do begin if copy (a,1,t)=copy(a,x+t,t) then k:=k+1; x:=x+t; end; if k=i-1 then period:=t; end; end; writeln (copy (a, 1, period));end.

Тест:

Берілгені: информатикаинформатикаинформатика
Нәтиже: информатика

Қорытынды (1.2-кесте):

1.2-кесте.
  Бейсик Паскаль Си
Цикл денесіндегі мәні кемімелі х айнымалысының і циклдік параметрдің өспелі мәніне тәуелділігі for i=1 to nx=n-i+1next for i:=1 to n dox:=n-i+1; for(i=1;i<=n;i++) x=n-i+1;
Еселі болу белгісі 1. x \ y = x / y2. x mod y =0 x mod y = 0 x%y==0
Кесінді ұзындығы sqr ((x1-x2)^2+(y1-y2)^2) sqrt (sqr(x1-x2)+sqr(y1-y2)) sqrt(pow(x1- x2,2)+pow(y1-y2,2))

Кілттік сөздер (глоссарий)

  • Цикл есептеуіші (циклдік параметр) – цикл денесінің орындалу қадамының нөмірін сақтайтын айнымалы.
  • Палиндром - солдан оңға және оңнан солға қарай бірдей оқылатын мәтін.
  • Еселілік – бір санның екіншісіне қалдықсыз бөлінуі. Pascal тілінде бір санды екіншісіне бөлудің қалдығын mod арифметикалық амалы арқылы анықтайды (Си тілінде – % амалы).

З бетінше орындауға арналған тапсырмалар

Жазықтықтағы дөңес n-бұрыштың төбелерінің координаттары берілген болса, онда олардың координаттар басынан, яғни (0,0) нүктесінен ең алыс орналасқанын табу керек.

Берілген аралықта өзара достас сандар бар ма?

3. n-ге дейінгі бүтін сандардың қосындысын есептеудің жеңіл әдісін қолдануға программа жазу керек. Мысалы, n=9 болса онда 1,2,3,4,5,6,7,8,9 тізбегінің қосындысын былай есептеу анағұрлым жеңіл екені белгілі: 1+9=10, 2+8=10, 3+7=10, 4+6=10. Демек, 4*10+5=45.

Институт фойесінде сусын сататын автомат орналасқан. Оны студенттер мен институт қызметкерлері жиі пайдаланады және ол тек қана 2 теңгелік пен 3 теңгелік тиындарды ғана қабылдайды. Әрине, қажетті сусынды сатып алу үшін үнемі қалтаңда 2-лік пен 3-тік тиындарды алып жүру ыңғайсыз, сондықтан, қажетті тиындарды автоматтың жанында орналасқан қосалқы автоматтан алуға болады. Қосалқы автоматтың Сіз ендірген соманы қалай 2-лік пен 3-тік тиындарға айналдыратынын ойланып көрші. Программасын жаза алатыныңа сенімдімін.

Наши рекомендации