October 19, 2019

Cikl operatorına baylanıslı esaplar

  1. N pútin sanı berilgen (0<=N<=10^18). Usı sannıń neshe xanalı ekenligin hám cifrlarınıń qosındısın tabıwshı programma dúziń.
  2. a hám b pútin sanları berilgen (a,b>0, a<b). Usı [a,b] aralıǵındaǵı barlıq ápiwayı sanlardı anıqlawshı programma dúziń.
  3. N pútin sanı berilgen (0<=N<=10^1000). Usı sannıń cifrların keri tártipte jazıwshı programma dúziń (Kiriwshi: 12, Shıǵıwshı: 21).

Sheshiliwi:

1. Sannıń neshe xanalı ekenligin tabıw ushın yamasa cifrlarınıń qosındısın tabıw ushın onıń cifrların aqırınan baslap bólip alıw kerek boladı. Bólip alıw ushın qaldıqlı bóliw (n%10) hám pútinli bóliwden (n/10) paydalanamız. Neshe xanalı ekenligi belgisiz bolǵanlıqtan, sandı 0 bolǵanǵa shekem bóliwde hám qaldıqlı bóliwde dawam etemiz.

Realizaciya:

2. Ápiwayı sanlar tek ǵana 1 ge hám ózine qaldıqsız bólinetuǵın sanlar (2,3,5,7,11,…). Sandı ápiwayılıqqa tekseriw ushın onı 2 den baslap, sqrt(n) ge shekem bóliw jetkilikli. Eger usı aralıqta heshbir sanǵa qaldıqsız bólinbese, demek ápiwayı san esaplanadı. Esaptı shıǵarıw ushın 2 cikl operatorınan paydalanamız. Birinshisi [a,b] aralıqtaǵı sanlardıń bárin tekseriw ushıń, ekinshisi 2 den sqrt(n) ge shekemgi sanlarǵa bóliw ushın.

Realizaciya:

3. Bul máseleni cikl operatorınan paydalanıp, cifrların bólip alıp islewge boladı. Biraqta másele shártinde 10^1000 dárejesine shekemgi sanlardı islew kerek. Bul bolsa, heshbir sanlı maǵlıwmat tipine sıymaydı. Sonlıqtan, qatarlardan paydalanıp kiritemiz. Kerisine aylandırıw ushın reverse() metodınan paydalanamız.

Realizaciya:

Baylanıs ushın: Aymurat Orınbaev

Programmalastırıw