Na, toks algoritmas. Dalinant iš dešimt, paskutinis skaitmuo liks liekanoje. Pvz. (python konsolėje):
>>> 152%10
2
>>> 15%10
5
>>> 1%10
1
Na, o tai, kas lieka padalijus su liekana (rezultatą, kaip 152/10 = 15) pasiliekame, ir atsirenkinėjame toliau tuos skaitmenis :)
2. Parasykite programa, kuri apskaiciuotu nurodyto skaiciaus skaitmenu suma(pvz:152,skaitmenu suma yra 8);
program programa;
var sk, sum:longint;
Begin
readln(sk);
sum := 0;
while sk > 0 do
begin
sum += sk mod 10;
sk := sk div 10;
end;
writeln(sum);
readln;
End.
3. Parasykite programa, kuri rastu ir isspausdintu skaiciaus n pirma ir paskutini skaitmeni;
program programa;
var n:longint;
Begin
readln(n);
writeln('Pirmas skaitmuo: ', n div 10 ** (trunc(ln(n)/ln(10))));
writeln('Paskutinis skaitmuo: ', n mod 10);
readln;
End.
4. Parasykite programa, kuri rastu didziausiaji sekos nari ir jo eiles numeri sekoje(ciklas while); Nesupratau šios užduoties biškį :/
1. gauni skačių, patikrini iš kiek simbolių tas skaičius sudarytas, jeigu tai dviženklis (ir didesnis) skaičius tuomet suki ciklą ir imi kiekviena skaičiaus skaitmenį ir sumuoji. manau jeigu programavime gaudaisi tuomet padarysi be problemų.
2. na čia principas kaip pirmoj užduotyje tik paimi pirmą skaičiaus skaitmenį ir paskutinį.
3. na tai suki ciklą ir į laikiną kintamąjį įrašai skaičius didesnius, mažesnius priklauso nuo užduoties ir tuo pačiu renki to skaičiaus vietą:
įvestas skaičius: (x:=152); tikriname ar "x" didesnis tarkime už "10" (jeigu didesnis tuomet tai dviženklis skaičius arba dar didesnis), jeigu salyga tenkina sukame ciklą (šiuo metu mūsų įvestas skaičius triženklis, reiškiasi sąlyga tenkina ir sukame ciklą). cikle tikriname pirmą skaičių (1), kadangi mūsų laikinas kintamasis tarkim (y) yra 0 tuomet tikriname ar "y>x[0]" (ar laikinas kintamasis didesnis už mūsų skaičiaus pirmąjį skaitmenį) taigi viskas atrodo taip: 0>1, kaip matome salyga klaidinga ir mūsų netenkina nes "0" nėra didesnis už 1, tokiu atveju įrašome į laikiną kintamąjį "1" ir dabar y=1; sukame sekanti skaičių (5) ir vėl tikrinamą (y>x[1] arba 1>5) vel sąlyga klaidinga, tuomet pakeičiame "y" reikšmę į 5 (y:=5), toliau sukame ciklą (y>x[2] arba 5>2) matome kad šį kartą salyga mus tenkina, tai reiškia kad nieko nedarome ir judame toliau. pasirodo kad tai paskutinis mūsų skaičiau skaitmuo ir baigiame ciklą. rezultatas toks: y=5 :) štai ir didžiausias mūsų skaitmuo. na dar pasidaryk vieną laikiną kintamąjį ir į jį talpink skaičiaus vietą. :) viskas, matai paprasta. išvedame mūsų laikino kintamojo reikšmę į ekraną
užduotys gana paprastos, bet jeigu nori, kad kas padarytų prašau mokėk pinigus ir bus padaryta per 30min. :) aš savo darbą įvertinčiau 100 lietuviškų pinigų., jei tinka kreipkis.