Liczby automorficzne

0

Witam,
chcę napisać program znajdujący wszystkie liczby automorficzne z danego przedziału. Wiem że jest to liczba ktora znajduje sie na koncu swojego kwadratu, tylko jak sprawic aby program sprawdzal czy po wykonaniu potegowania ta liczba jest tam gdzie powinna??

Będę bardzo wdzięczny za konstruktywne podpowiedzi.

Z góry dzięki.

0

Tak najprostszym sposobem,możesz zapisać te liczby do stringa i porównywać od końca czy się zgadzają..

0

GOOGLE - DRUGI WYNIK WYSZUKIWANIA : (jako pierwszy wskoczył do google ten temat - szybkie to google :) )
http://www.google.pl/search?hl=pl&source=hp&q=pascal+liczby+automorficzne&aq=f&aqi=&aql=&oq=&gs_rfai=

0

Tylko ze kod z tego pierwszego wyniku cos nie chce dzialac

0

Tak naprawde to on działa tylko dlaczego żeby wyświetlał kolejne wyniki trzeba dusić kilka enter'ów (chyba tyle ile razy petla sie wykonuje)??

Ok, dzieki już wszystko działa

0

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
i,x,z:longint;
begin
writeln('Podaj dolna granice przedzialu');
readln(z);
writeln('podaj gorna granice przedzialu');
readln(x);
for i:=z to x do
Begin
if ( ( i * i ) mod 10 ) =i then
begin
writeln(i);
continue;
end;

if ( ( i * i ) mod 100 ) = i then
writeln(i);

if ( ( i * i ) mod 1000 ) = i then
writeln(i);

if ( ( i * i ) mod 10000)=i then
writeln(i);

end;
readln;
end.

0

Witam, robię ten sam program w aplikacji obiektowej i mam jeden problem, a mianowicie taki że wyświetla mi tylko liczby z jednej linijki kodu do liczby 10, a zadaniem tego programu jest generować liczby do miliona

rocedure TForm1.Button1Click(Sender: TObject);
var
a,g,d:Integer;
begin
 d:=StrToInt(Edit1.Text);
 g:=StrToInt(Edit2.Text);

 for a:=d to g do

   if ((a*a) mod 10)=a then
    Memo1.Lines.Add(inttostr(a));

   if ((a*a) mod 100)=a then
    Memo1.Lines.Add(inttostr(a));

   if ((a*a) mod 1000)=a then
    Memo1.Lines.Add(inttostr(a));

   if ((a*a) mod 10000)=a then
    Memo1.Lines.Add(inttostr(a));

   if ((a*a) mod 100000)=a then
    Memo1.Lines.Add(inttostr(a));

   if ((a*a) mod 1000000)=a then
    Memo1.Lines.Add(inttostr(a));

end;
 

w czym tutaj tkwi problem, czy coś ominąłem?

0
  1. Co masz w pętli? Poszukaj informacji o blokach begin..end
  2. Niedokładnie przepisałeś kod, zapomniałeś o continue; - właściwie, to powinno być po każdym wypisaniu wyniku

1 użytkowników online, w tym zalogowanych: 0, gości: 1