ktosss1
(ktosss)
21 Maj 2021 09:57
#1
ja myślę żeby raz podzielił a za drugim razem jak podzieli to jest półpierwsza (l półpierwsza to taka która jest iloczynem dwóch pierwszych. np.4, 6, 9, 10, 14, 15 w języku c++.
w miarę możliwości czytelne, może być też od nowa.
cały program do skopiowaia w razie czego;
#include
#include
using namespace std;
int main(int argc, char* argv)
{
int n;
int dzielnik;
cout << "Podaj liczbe ";
cin >> n;
dzielnik=2;
while ( ((n % dzielnik) != 0) && ((dzielnik <= sqrt(n))) )
{
dzielnik++;
if (dzielnik>sqrt(n))
cout << „pierwsza”;
else
cout << „zlozozna”;
}
}
jak zła kategoria to przepraszam ale jestem tu nowa i nieobeznana jeszcze
kowgli
(kowgli)
21 Maj 2021 14:17
#2
Nie znam terminu półpierwsza, ale z tego co piszesz to zamiast sprawdzać, czy dana liczba jest pierwsza musisz sprawdzić jej pierwiastek kwadratowy.
Do części to nie wystarczy.
np. 6 jest półpierwsza bo powstaje z mnożenia 2*3.
półpierwsza to taka która jest iloczynem „dowolnych” dwóch pierwszych
In mathematics, a semiprime is a natural number that is the product of exactly two prime numbers. The two primes in the product may equal each other, so the semiprimes include the squares of prime numbers.
Because there are infinitely many prime numbers, there are also infinitely many semiprimes. Semiprimes are also called biprimes.
The semiprimes less than 100 are:
Semiprimes that are not square numbers are called discrete, distinct, or squarefree semiprimes:
The semiprimes are the case
...
kowgli
(kowgli)
21 Maj 2021 17:11
#4
A… OK. Zrozumiałem, że chodzi o tą samą, jednak to co ty piszesz ma większy sens.
@ktosss1
https://main2.edu.pl/main2/courses/show/17/35/
Oczywiście pole do optymalizacji jest spore. Tak samo jak kodu na liczby pierwsze.