|
Titlul: Problema banala Pascal Scris de: Gorgan Razvan-Florin din Iunie 08, 2011, 18:07:14 Buna. Ma tot chinui cu o problema, dar nu pentru ca nu i-as sti algoritmul ci pentru ca imi da o eroare care nu stiu cum s-o interpretez. Am incercat multe feluri de algoritm dar aceeasi eroare. Problema este urmatoarea:
Determinati numerele de patru cifre distincte divizibile la fiecare din cifrele care le compun. (Stiu, e banala). Un algoritm care sa nu se intinda prea mult prin (i div 10) mod 10 si tot asa este acesta: program distinct; var i,c:longint;s,t:byte; begin for i := 1000 to 9999 do begin s := 0; c := i; if i mod 1111 <> 0 then repeat t := c mod 10; c := c div 10; if i mod t = 0 then s := s + 1; until c = 0; if s = 4 then writeln(i); end; readln; end. Eroarea este : raised exception class 'External: SIGFPE'. Banuiesc ca este de la tipul variabilelor dar am incercat o gramada de combinatii => 0. Eroarea zice ca e pe linia : if i mod t = 0 then s := s + 1 Multumesc Titlul: Răspuns: Problema banala Pascal Scris de: cont cu nume gresit sau fals din Iunie 08, 2011, 18:15:25 Pentru i=1000 (de exemplu) prima valoare pe care o ia t este 0, iar tu nu verifici daca t este 0 si prin urmare ceri restul lui i la 0.
De aici vine eroarea Titlul: Răspuns: Problema banala Pascal Scris de: Gorgan Razvan-Florin din Iunie 08, 2011, 18:17:58 Da! Intr-adevar. Multumesc, ma mai gandesc ...
|