[ nika100 @ 08.03.2005. 14:41 ] @
Molim vas ako mozete da mi pomognete oko zadatka i da objasnite svaki korak:
Napisati program kojim se odredjuje 100-ta decimala kolicnika brojeva 22 i 7.
Unapred hvala!!!
[ Srki_82 @ 08.03.2005. 15:10 ] @
Ljudi ne vole da rade domace zadatke :)
Mogu samo da ti objasnim... verovatno znas kako se dele dva broja...

22:7=3
21
--
1

pa onda spustis nulu

22:7=3
21
--
10

posto je ta nula iza zareza prvog broja dodaje se zarez i u rezultatu

22:7=3,1
21
--
10
7
--
3

pa opet nula i tako picis koliko ti treba.

Dakle... izracunas 22 div 7 i dobijes onu prvu 3, zatim od 22 oduzmes 7 * taj broj sto si dobio (u ovom slucaju 3) i dobijes rezultat 1. taj broj sto dobijes pomnozis sa 10 pa iz pocetka... tako sto puta i dobices stotu decimalu. Mozda ima neki optimizovaniji nacin, ali ovaj "na misice" radi i radi kako treba 100%... bar mi se tako cini :)
[ Toyo @ 08.03.2005. 18:07 ] @
@ srki_82
navikli se ljudi da im neko resava zadatke,pa sta ces.:)

kad se vratim sa zurke, napisacu ti kod (oko 02h, onako pijan).

Pozdrav!
[ nika100 @ 08.03.2005. 21:29 ] @
Hvala vam dali mi neke zadatke koji ce da budu na takmicenju a ja kao prvo ne mogu da ih shvatim jer ne znam sta da radim :D
[ Srki_82 @ 08.03.2005. 22:54 ] @
Uvek krenes od toga kakobi ti to sam peske uradio. Posle samo smislis kako to da objasnis racunaru da uradi umesto tebe :)

P.S.

Sad mi je nesto palo na pamet. Mogu da ti traze i hiljaditu decimalu ili tako nesto sa ovako sitnim brojevima. Cifre ce eventualno da se ponavljaju. U ovom primeru 22:7 rezultat je 3,1428571428571428571428571428571. Vidis da se 142857 stalno ponavlja. Mozes da napravis neki mali buffer u kojem ces cuvati rezultat i kad primetis da se cifre ponavljaju jednostavno "izbrojis" 1000 cifara i vidis koja ce se civra nalaziti na tom mestu. Ovo eliminise duge petlje i prilicno ubrzava kod jer nije potrebno stalno deliti. Verovatno ce tako nesto biti na takmicenju kad su vam ovo dali da vezbate.
[ bancika @ 08.03.2005. 23:31 ] @
a na koje to takmicenje?zadaci na skolskim takmicenjima u srednjoj skoli su daleko tezi od ovoga
[ Toyo @ 09.03.2005. 05:17 ] @
Daaaj u baferu da cuva masinu, he he. Pa on ne zna ni 2 broja da podeli.
[ Toyo @ 09.03.2005. 05:37 ] @
Code:

function Nadji(b,d, prec : Integer):String;
var i, j: Integer;
  s:String;
begin
  s:= inttostr(b div d)+'.';
  i := 0;
  b := b mod d;
  while i <= prec do
    begin
      b := b*10;
      s := s+ inttostr(b div d);
      b := b mod d;
      inc(i);
    end;
  Nadji := S;
end;


Zoves sa Nadji(1,3,200)

Daje string 1/3 na 200 decimala.

ili Nadji(22,7,155)
ovo daje 22/7 na 155 decimala.

Pozdrav
[ nika100 @ 09.03.2005. 13:01 ] @
Hvala vam!
Dali mi da radim u pascal-u,a najbolje sto znam je VB i QB
[ nika100 @ 09.03.2005. 13:07 ] @
Toyo,ako mozes to sve da mi posaljes u .pas fajlu.Jer za paskal sam retardiraniji nego na assembler!!!
[ nika100 @ 09.03.2005. 13:09 ] @
Citat:
bancika: a na koje to takmicenje?zadaci na skolskim takmicenjima u srednjoj skoli su daleko tezi od ovoga

Za 6. razred osnovne skole.
[ bancika @ 09.03.2005. 14:52 ] @
aha, ok, onda je razumne tezine :)
u srednjoj skoli su za sve isti zadaci, bio 4. ili 1. godina...jedino je razlika da li si u matematickoj gimn. ili ne, i to se razlikuje jedan zadatak
[ borovac @ 16.01.2006. 17:05 ] @
super, a ja u školi tek u drugom polugodištu 8. razreda počeo sa basicom:)