Program w Delphi
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
Program w Delphi
Kto napisze program w Delphi który z liczb wypisze liczby których suma cyfr jest liczbą pierwsza.
-
- Użytkownik
- Posty: 311
- Rejestracja: 15 mar 2007, o 16:52
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 28 razy
- Pomógł: 54 razy
Program w Delphi
Polecam na początek kurs Delphi:
Sam próbuj, a ktoś Ci tutaj pomoże jak będziesz miał w czymś problem, ale póki co napisałem coś takiego w C++:
lub wersja bardziej wydajniejsza może nie dużo ale zawsze warto optymalizować
Napisałbym Ci w Delphi ale nawet nie mam go zainstalowanego, a dasz sobie rade z przerobieniem tego na Delphi, a jak nie to pytaj
Sam próbuj, a ktoś Ci tutaj pomoże jak będziesz miał w czymś problem, ale póki co napisałem coś takiego w C++:
Kod: Zaznacz cały
#include <iostream>
using namespace std;
void pierwsza(int i)
{
int liczba=i, a=0, suma=0, ile=0;
bool pierwsza;
do {
a=i%10;
suma+=a;
} while (i /= 10);
if(suma>1)
{
pierwsza=true;
for(int i=2; i<=suma; ++i)
{
if(suma%i==0)
++ile;
if(ile>1)
{
pierwsza=false;
break;
}
}
}
if(pierwsza)
cout << "Suma cyfr [" << suma << "] liczby " << liczba << " jest liczba pierwsza." << endl;
}
int main()
{
for(int i=2; i<=10000; ++i)
pierwsza(i);
cout << endl;
system("pause");
return 0;
}
Kod: Zaznacz cały
#include <iostream>
using namespace std;
void pierwsza(int i)
{
int liczba=i, a=0, suma=0;
int liczbyPierwsze[11]={2,3,5,7,11,13,17,19,23,29,31}; // ponieważ max. suma cyfr w tym przedziale to 36
bool pierwsza=false;
do {
a=i%10;
suma+=a;
} while (i /= 10);
for(int i=0; i<11; ++i)
{
if(suma==liczbyPierwsze[i])
pierwsza=true;
}
if(pierwsza)
cout << "Suma cyfr [" << suma << "] liczby " << liczba << " jest liczba pierwsza." << endl;
}
int main()
{
for(int i=2; i<=10000; ++i)
pierwsza(i);
cout << endl;
system("pause");
return 0;
}
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
-
- Użytkownik
- Posty: 311
- Rejestracja: 15 mar 2007, o 16:52
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 28 razy
- Pomógł: 54 razy
Program w Delphi
To teraz masz 2, a nawet 3;) Co to za problem przerobić go na Delphi? Wiesz już jak to zrobić to nie wiem w czym tkwi problem?
Napisałem, żebyś na początku sie nauczył podstaw Delphi-ego. Weź jakiś dobry kurs i do roboty.
Napisałem, żebyś na początku sie nauczył podstaw Delphi-ego. Weź jakiś dobry kurs i do roboty.
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
Program w Delphi
chodzilm na studia podyplomowe i miałem kurs w delphi ale mi wszystko wyleciało bo stosowałem zasade 4 z.
[ Dodano: 30 Maj 2007, 11:26 ]
w C++ to znalazłem ten program w necie
[ Dodano: 30 Maj 2007, 11:26 ]
w C++ to znalazłem ten program w necie
-
- Użytkownik
- Posty: 311
- Rejestracja: 15 mar 2007, o 16:52
- Płeć: Mężczyzna
- Lokalizacja: Lublin
- Podziękował: 28 razy
- Pomógł: 54 razy
Program w Delphi
Ale tutaj nie trzeba nic specjalnego umieć, mówię Ci pół godziny max godzina i napiszesz go sam, masz już podany sposób rozwiązania teraz tylko implementacja w Delphi
- wstaw sobie komponent TMemo.
- dodawanie nowej lini to: Memo1.Lines.Add('cos');
- zmienne definiujesz pod słowem kluczowym var, które wstawiasz pod procedure
- pętla for
- możesz również użyć pętli repeat
- przypisanie to :=
Tyle Ci powinno wystarczyć
- wstaw sobie komponent TMemo.
- dodawanie nowej lini to: Memo1.Lines.Add('cos');
- zmienne definiujesz pod słowem kluczowym var, które wstawiasz pod procedure
- pętla for
Kod: Zaznacz cały
for I := 2 to 10000 do begin
{ cos tam }
end;
Kod: Zaznacz cały
repeat
x:=x+1;
until x<10
Tyle Ci powinno wystarczyć