Zmodyfikuj kod programu w zaznaczonym miejscu tak, aby wypisywał czynniki pierwsze liczby a. Przetestuj jego działanie dla a = 18.
Specyfikacja problemu:
Dane:
a – liczba do rozłożenia na czynniki pierwsze; liczba naturalna większa od 1
Wynik:
Na standardowym wyjściu program wypisze rozkład liczby a na czynniki pierwsze.
Przykładowe wyjście dla :
Linia 1. 2 5.
RIF4zru2GVz6I
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 3. using namespace std średnik.
Linia 5. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. int a znak równości 18 średnik.
Linia 7. int b znak równości 2 średnik.
Linia 9. while otwórz nawias okrągły b asterysk b otwórz nawias ostrokątny znak równości a zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. if otwórz nawias okrągły a procent b znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. cout otwórz nawias ostrokątny otwórz nawias ostrokątny b otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów cudzysłów średnik.
Linia 12. a prawy ukośnik znak równości b średnik.
Linia 13. zamknij nawias klamrowy else b plus plus średnik.
Linia 14. zamknij nawias klamrowy.
Linia 15. cout otwórz nawias ostrokątny otwórz nawias ostrokątny a otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów lewy ukośnik n cudzysłów średnik.
Linia 16. zamknij nawias klamrowy.
21
Ćwiczenie 2
Uzupełnij warunek pętli for oraz pętli while w programie, który wypisuje czynniki pierwsze liczby naturalnej a. Przetestuj działanie programu dla a = 28.
Specyfikacja problemu:
Dane:
a – liczba do rozłożenia na czynniki pierwsze; liczba naturalna większa od 1
Wynik:
Na standardowym wyjściu program wypisze rozkład liczby a na czynniki pierwsze.
Przykładowe wyjście dla :
Linia 1. 2 2 3 3.
R2fj7eN9xAM1v
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny cmath zamknij nawias ostrokątny.
Linia 4. using namespace std średnik.
Linia 6. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. int a znak równości 28 średnik.
Linia 8. int b średnik.
Linia 10. for otwórz nawias okrągły b znak równości 2 średnik b asterysk b otwórz nawias ostrokątny znak równości a średnik plus plus b zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. while otwórz nawias okrągły a procent b znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 12. cout otwórz nawias ostrokątny otwórz nawias ostrokątny b otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów cudzysłów średnik.
Linia 13. a prawy ukośnik znak równości b średnik.
Linia 14. zamknij nawias klamrowy.
Linia 15. zamknij nawias klamrowy.
Linia 17. if otwórz nawias okrągły a wykrzyknik znak równości 1 zamknij nawias okrągły.
Linia 18. cout otwórz nawias ostrokątny otwórz nawias ostrokątny a średnik.
Linia 19. zamknij nawias klamrowy.
31
Ćwiczenie 3
Napisz program, który oblicza iloczyn największych czynników pierwszych każdej z liczb naturalnych większych od 1. Liczby zostały podane w n‑elementowej tablicy a. Przykładowo, dla liczb 17 i 38 ten iloczyn wynosi 323. Przetestuj działanie programu dla tablicy a = {510, 17, 30, 8, 4000}.
Specyfikacja problemu:
Dane:
a – niepusta tablica liczb naturalnych większych od 1
n – liczba elementów wchodzących w skład tablicy a; liczba naturalna dodatnia
Wynik:
Na standardowym wyjściu wyświetlana jest liczba całkowita: iloczyn największych czynników pierwszych liczb zawartych w tablicy a.
R166ADCTkRRWL
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny cmath zamknij nawias ostrokątny.
Linia 4. using namespace std średnik.
Linia 6. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. int a otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 510 przecinek 17 przecinek 30 przecinek 8 przecinek 4000 zamknij nawias klamrowy średnik.
Linia 8. long long wynik znak równości 1 średnik.
Linia 9. int n znak równości 5 średnik.
Linia 10. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. int najwiekszy podkreślnik czynnik znak równości 0 średnik.
Linia 12. int b średnik.
Linia 14. for otwórz nawias okrągły b znak równości 2 średnik b asterysk b otwórz nawias ostrokątny znak równości a otwórz nawias kwadratowy i zamknij nawias kwadratowy średnik plus plus b zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. while otwórz nawias okrągły a otwórz nawias kwadratowy i zamknij nawias kwadratowy procent b znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 16. if otwórz nawias okrągły b zamknij nawias ostrokątny najwiekszy podkreślnik czynnik zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. najwiekszy podkreślnik czynnik znak równości b średnik.
Linia 18. zamknij nawias klamrowy.
Linia 19. a otwórz nawias kwadratowy i zamknij nawias kwadratowy prawy ukośnik znak równości b średnik.
Linia 20. zamknij nawias klamrowy.
Linia 21. zamknij nawias klamrowy.
Linia 23. if otwórz nawias okrągły a otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny najwiekszy podkreślnik czynnik zamknij nawias okrągły.
Linia 24. wynik asterysk znak równości a otwórz nawias kwadratowy i zamknij nawias kwadratowy średnik.
Linia 25. else wynik asterysk znak równości najwiekszy podkreślnik czynnik średnik.
Linia 26. zamknij nawias klamrowy.
Linia 28. cout otwórz nawias ostrokątny otwórz nawias ostrokątny wynik średnik.
Linia 29. zamknij nawias klamrowy.