Program na liczby pierwsze
Moderatorzy: Moderatorzy, Administratorzy
Program na liczby pierwsze
witam!
potrzebuje pomocy w napisaniu programu w C++ ktory wyznaczalby liczbe pierwsza albo chociaz sprawdzal czy dana liczba jest liczba pierwsza
nie wiem jak sie do tego zabrac
jest na to pewien algorytm ktory poprzez eliminacje kolejnych liczb ktore sa podzielne przez wymienione juz liczby pierwsze ale nie wiem jak to zapisac kodem?!
potrzebuje pomocy w napisaniu programu w C++ ktory wyznaczalby liczbe pierwsza albo chociaz sprawdzal czy dana liczba jest liczba pierwsza
nie wiem jak sie do tego zabrac
jest na to pewien algorytm ktory poprzez eliminacje kolejnych liczb ktore sa podzielne przez wymienione juz liczby pierwsze ale nie wiem jak to zapisac kodem?!
Re: Program na liczby pierwsze
napewno dasz rade, pomysl,
nie bedziemy odrabiac zadan domowych za Ciebie
nie bedziemy odrabiac zadan domowych za Ciebie
Ostatnio zmieniony 2006-11-10, 21:03 przez Bysz, łącznie zmieniany 2 razy.
[url=http://www.uptime-project.net/profile.php?uid=106957][img]http://img.uptime-project.net/img/1/106957.png[/img][/url]
Re: Program na liczby pierwsze
to nie jest wlasciwie zadanie domowe ze szkoly
problem z tym ze ja mam bardzo mala a wlasciwie zerowa wiadomosc na temat C++
dlatego nie wiem z czego skorzystac...
problem z tym ze ja mam bardzo mala a wlasciwie zerowa wiadomosc na temat C++
dlatego nie wiem z czego skorzystac...
Re: Program na liczby pierwsze
Za Ciebie tego nikt nie zrobi
ale moze >>>tutaj poszukaj<<<
Wiecej sie nie da pomoc
Drugim razem gooooooluj
ale moze >>>tutaj poszukaj<<<
Wiecej sie nie da pomoc
Drugim razem gooooooluj
[url=http://www.uptime-project.net/profile.php?uid=106957][img]http://img.uptime-project.net/img/1/106957.png[/img][/url]
Re: Program na liczby pierwsze
leee wlasnie znalazlem sorry bo zapomnialem jak sie nazywal autor tego algorytmu
dzieki
dzieki
Ostatnio zmieniony 2006-11-10, 21:01 przez aleks, łącznie zmieniany 1 raz.
Re: Program na liczby pierwsze
z googli , z kursow programowania,z glowy, a potem z forum w celu pochwalenia sie ze sobie sam poradziles to jest bardzo banalny program, najprostszy(w implementacji) sposob na sprawdzenie danej liczby(nieparzystej, parzystych nie masz co sprawdzac ) to dzielenie jej przez wszystkie liczczby(nieparzyste) z zakresu od 3 do pierwiastka z tej liczby.dlatego nie wiem z czego skorzystac...
Re: Program na liczby pierwsze
aleks pisze:ale nie wiem jak to zapisac kodem
Kod: Zaznacz cały
(defun primep (n)
"Returns non nil if N is a prime number."
(when (integerp n)
(when (< n 0) (setq n (- n)))
(cond
((= n 2))
((and (> n 1) (not (= (% n 2) 0)))
(let ((end (truncate (sqrt n))) (i 1) nah)
(while (and (<= (setq i (+ i 2)) end) (setq nah (= 0 (% n i)))))
(not nah))))))
(defun primes (n)
"Returns list of frist N primes."
(when (and (integerp n) (> n 0))
(let ((primes (list 2)) (num 1))
(while (not (= 0 (setq n (1- n))))
(while (catch 'div
(setq num (+ num 2))
(dolist (prime primes)
(when (= 0 (% num prime))
(throw 'div t)))))
(setq primes (append primes (list num))))
primes)))
(defun primes-<= (n)
"Returns list of all primes less then or equal N."
(when (and (integerp n) (> n 1))
(let ((primes (list 2)) (num 1))
(while (<= (setq num (+ num 2)) n)
(if (catch 'div
(dolist (prime primes t)
(when (= 0 (% num prime))
(throw 'div nil))))
(setq primes (append primes (list num)))))
primes)))
(defun prime-sieve-p (n)
"Returns non nil if N is a prime number."
(and (integerp n)
(or (= n 2)
(and (> n 1)
(not (= 0 (% n 2)))
(= n (car (last (primes-<= n))))))))
Ostatnio zmieniony 2006-11-11, 16:04 przez mina86, łącznie zmieniany 3 razy.
Re: Program na liczby pierwsze
ja znalazlem taki kod ktory mi dobrze tez dziala
choc dzieki za fatyge
teraz potrzebuje juz tylko mam tu takie zadanie konkursowe nad ktorym moglbym sie poglowic ale nawet nie rozumiem zbytnio o jaki szyfr tu chodzi jak on ma funkcjonowac
nie mowiac juz o kodzie
choc dzieki za fatyge
Kod: Zaznacz cały
using namespace std;
main()
{
const unsigned MAX_LP = 1000000; // maksymalna długość zbioru
bool t[MAX_LP + 1];
unsigned i,w,g;
char s[1];
cout << "Wyszukiwanie liczb pierwszych sitem Eratostenesa\n"
"------------------------------------------------\n"
"(C)2004 mgr Jerzy Walaszek I LO w Tarnowie\n\n"
"Podaj granice = ";
cin >> g; cout << endl;
if(g > MAX_LP)
cout << "Granica zbyt wielka\n";
else
{
for(i = 2; i <= g; i++) t[i] = true;
for(i = 2; i <= g; i++)
{
w = i + i;
while(w <= g)
{
t[w] = false; w += i;
}
}
for(i = 2; i <= g; i++)
if(t[i]) cout << setw(8) << i;
cout << endl;
}
cout << "\n\nKlawisz Enter = KONIEC";
cin.getline(s,1);
cin.getline(s,1);
}
nie mowiac juz o kodzie
Napisać program kodujący i rozkodowujący teksty nad alfabetem łacińskim (26 liter) wzbogaconym o cyfry dziesiętne.
Zasada kodowania: każde kolejne 4 znaki tekstu (końcówka nie musi być 4-znakowa) traktujemy jako liczbę zapisaną w systemie pozycyjnym o podstawie 36 i zamieniamy ją na liczbę w systemie dziesiętnym. Otrzymane w wyniku zamiany liczby zapisujemy na ekranie monitora, oddzielając je pojedynczymi odstępami. Dekodowanie polega na przejściu od podanych liczb naturalnych, zapisanych w systemie dziesiętnym, do zaszyfrowanego tekstu.
Po stwierdzeniu, czy chodzi o kodowanie, czy też o rozkodowanie:
dane wprowadzamy z klawiatury, wyniki wyprowadzane mają być na ekran monitora.
Ostatnio zmieniony 2006-11-11, 23:27 przez aleks, łącznie zmieniany 1 raz.
Re: Program na liczby pierwsze
Jak chcesz, to masz tutaj moje stare zadanie domowe, tylko, ze napisane w C. Z tego co pamiętam, to działa prawidłowo, ale chyba 2 wywala jaką nie pierwszą. Nie wiem, sprawdź, może Ci się przyda.
Kod: Zaznacz cały
#include<stdio.h>
#include<stdlib.h>
int pierwsza(int n);
int main ()
{
system("clear"); //czyszczenie ekranu
int n;
printf("\nWprowadz liczbe:\n");
scanf("%d" ,&n);
printf("%d\n", pierwsza(n));
return 0;
}
int pierwsza (int n)
{
if(n % 2)
{
int i;
for (i=2;i>1;i--)
printf("\nTo jest liczba pierwsza\n");
}
else
{
printf("\nTo nie jest liczba pierwsza\n");
return 0;
}
}
[size=84]Linux user # 391061[/size]
Re: Program na liczby pierwsze
hamster to chyba nie zdales
Re: Program na liczby pierwsze
Kod: Zaznacz cały
template <unsigned num, unsigned i = num - 2> struct is_prime {
static const bool value = (num % i) && is_prime<num, i-2>::value;
};
template <unsigned num> struct is_prime<num, 0> {
static const bool value = true;
};
template <unsigned num> struct is_prime<num, 1> {
static const bool value = true;
};
template <unsigned i> struct is_prime<0, i> {
static const bool value = false;
};
template <unsigned i> struct is_prime<1, i> {
static const bool value = false;
};
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Re: Program na liczby pierwsze
kazalot, A właśnie, że zdałem Odpaliłem ten program i działa dobrze oprócz tej dwójki, sprawdź jak nie wierzysz
[size=84]Linux user # 391061[/size]
Re: Program na liczby pierwsze
Hamster, ale na moj gust to ten program sprawdza czy dana liczba jest parzysta czy tez nie, a nie czy jest liczba pierwsza...
#358274
http://www.prook.net
http://www.prook.net
- Sad Mephisto
- Administrator
- Posty: 2824
- Rejestracja: 2004-05-22, 13:24
- Lokalizacja: Zabrze
- Kontakt:
Re: Program na liczby pierwsze
Urocze... zamiast pisać programy, które robią coś pożytecznego, musisz się zajmować bzdurami. Ciekawe co to za konkurs.aleks pisze:teraz potrzebuje juz tylko mam tu takie zadanie konkursowe nad ktorym moglbym sie poglowic ale nawet nie rozumiem zbytnio o jaki szyfr tu chodzi jak on ma funkcjonowac
nie mowiac juz o kodzieNapisać program kodujący i rozkodowujący teksty nad alfabetem łacińskim (26 liter) wzbogaconym o cyfry dziesiętne.
Zasada kodowania: każde kolejne 4 znaki tekstu (końcówka nie musi być 4-znakowa) traktujemy jako liczbę zapisaną w systemie pozycyjnym o podstawie 36 i zamieniamy ją na liczbę w systemie dziesiętnym. Otrzymane w wyniku zamiany liczby zapisujemy na ekranie monitora, oddzielając je pojedynczymi odstępami. Dekodowanie polega na przejściu od podanych liczb naturalnych, zapisanych w systemie dziesiętnym, do zaszyfrowanego tekstu.
Po stwierdzeniu, czy chodzi o kodowanie, czy też o rozkodowanie:
dane wprowadzamy z klawiatury, wyniki wyprowadzane mają być na ekran monitora.
Chodzi o to, że masz system trzydziestoszóstkowy. Dla uproszecznia przyjmijmy, że będzie on podobny do systemu szesnastkowego (0,1,2,...,8,9,a,b,...,e,f), tylko że zamiast poststawy 16 mamy 36 (czyli 0,1,2,...,8,9,a,b,...,x,y,z).
kodowanie to nic innego jak przeliczanie systemu trzydziestoszóstkowego na dziesiętny, czyli mając na wejściu "ola36lat", tlumaczymy na dziesietny:
o=24, l=21, a=10, 3=3, 6=6, t=29
i uwzgledniamy pozycje po rozbiciu na "ola3" i "6lat":
Kod: Zaznacz cały
ola3 = 24*10^3 + 21*10^2 + 10*10^1 + 3*10^0 = 24000 + 2100 + 100 + 3 = 26203
6lat = 6000 + 2100 + 100 + 29 = 8229
Dekodowanie robisz troszkę inaczej, najlepiej wygooglaj metodę konwersji systemu dziesiętnego na szesnastkowy i postępuj analogicznie - bo przeadaptowanie tego na system trzydziestoszóstkowy nie będzie problemem.
[i]Thank you for noticing this notice. Now that you've noticed this notice, you may have noticed that this notice is noticably unnoticable.
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
Re: Program na liczby pierwsze
Hm, wiesz co, Sad, nawet ciekawy pomysl z tym systemem o podstawie 36. Ja bym go wprowadzil jako glowny obowiazujacy w Polsce system liczbowy. Moznaby wtedy mowic "Pozycz troche zl" albo "Mam duzo kasy" i kazdy by wiedzial dokladnie o jakiej kwocie mowa
Ostatnio zmieniony 2006-11-12, 17:45 przez Radek_R, łącznie zmieniany 1 raz.
#358274
http://www.prook.net
http://www.prook.net