wykaż, że...
wykaż, że...: Wykaż, że liczba 11 + 22 + ... + 55 jest liczbą pierwszą.
16 lip 16:04
Saizou : Pokaż że liczba 3413 jest pierwsza
16 lip 17:18
wykaż, że...: Tyle to wiem, ale pomysłu nadal brak. Może jakieś wskazówki chociaż?
16 lip 19:01
Adamm:
sprawdź czy istnieje liczba pierwsza ≤[√3413] = 58, dzieląca 3413
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53
to kandydaci
16 lip 19:13
jc: 2,3,5, 11, 17 odpadają.
16 lip 22:15
jc: 13 i 31 też. Tyle w pamięci.
16 lip 22:33
Mariusz:
#include<iostream>
int main(int argc,char **argv)
{
int i,j,n;
int *numbers;
// n = std::stoi(argv[1]);
n = atoi(argv[1]);
numbers = new int[n+1];
for(i=0;i<=n;i++)
numbers[i] = 0;
for(i=2;i<=n;i++)
for(j=i+i;j<=n;j+=i)
numbers[j]=1;
for(i=2;i<=n;i++)
if(numbers[i]==0)
std::cout<<i<<" ";
std::cout<<"\n";
delete[] numbers;
return 0;
}
Przekierowania do pliku
> wynik.txt // Z nadpisywaniem
>> wynik.txt // Z dopisywaniem
< wejscie.txt // Dla danych z pliku
Jeżeli chcesz liczby pierwsze z zadanego przedziału to ci wypisze
Jeżeli używasz Linuksa to C++ masz zainstalowanego
Użytkownicy Windowsa mają na dzień dobry zainstalowanego C# oraz Visual Basic
chociaż ze starszą wersją kompilatora
18 lip 08:49
Mariusz:
Jak ktoś lubi Pythona
n = int(input("Podaj liczbe liczb do przesiania "))
numbers = list(range(n+1))
i = 2
while(i<=n):
j = i + i
while(j<=n):
if(j in numbers):
numbers.remove(j)
j+=i
i+=1
numbers.remove(0)
numbers.remove(1)
numbers
W Pascalu wygodniej będzie napisać sito na liście,
choć prawdopodobnie będzie działać nieco wolniej
18 lip 10:18
b.: Jeśli używasz Linuksa, to wystarczy w terminalu:
$ factor 3413
3413: 3413
−− czyli pierwsza
21 lip 21:25