Napisz program, który wypisze czynniki pierwsze liczby naturalnej dodatniej. Sprawdź jego działanie dla rozkladanaLiczba = 18.
Specyfikacja problemu:
Dane:
rozkladanaLiczba – liczba naturalna dodatnia; rozkladanaLiczba > 1
Wynik:
Program, na wyjściu standardowym, wypisze czynniki pierwsze danej liczby.
RZEFV7hpOlRMt
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void faktoryzacja otwórz nawias okrągły int liczba zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int liczbaPierwsza znak równości 2 średnik.
Linia 4. while otwórz nawias okrągły liczbaPierwsza asterysk liczbaPierwsza otwórz nawias ostrokątny znak równości liczba zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. if otwórz nawias okrągły liczba procent liczbaPierwsza znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. System kropka out kropka print otwórz nawias okrągły liczbaPierwsza plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 7. liczba prawy ukośnik znak równości liczbaPierwsza średnik.
Linia 8. zamknij nawias klamrowy else otwórz nawias klamrowy.
Linia 9. liczbaPierwsza plus plus średnik.
Linia 10. zamknij nawias klamrowy.
Linia 11. zamknij nawias klamrowy.
Linia 12. if otwórz nawias okrągły liczba wykrzyknik znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. System kropka out kropka println otwórz nawias okrągły liczba zamknij nawias okrągły średnik.
Linia 14. zamknij nawias klamrowy.
Linia 15. zamknij nawias klamrowy.
Linia 17. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 18. int rozkladanaLiczba znak równości 18 średnik.
Linia 19. faktoryzacja otwórz nawias okrągły rozkladanaLiczba zamknij nawias okrągły średnik.
Linia 20. zamknij nawias klamrowy.
Linia 21. zamknij nawias klamrowy.
21
Ćwiczenie 2
Napisz program rozkładający liczbę całkowitą na czynniki pierwsze, a następnie wypisujący największy czynnik, jaki pojawił się w rozkładzie. Sprawdź działanie programu dla liczby 5625.
Specyfikacja problemu:
Dane:
rozkladanaLiczba – liczba naturalna dodatnia większa od 1; liczba, której faktoryzację należy przeprowadzić
Wynik:
najwiekszy – największy czynnik podanej liczby; liczba naturalna
Przykładowe wyjście dla liczby 5625:
Linia 1. 5.
R1Vb9AYK7ejBZ
Przykładowe rozwiązanie:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int rozkladanaLiczba znak równości 5625 średnik.
Linia 4. int liczbaPierwsza znak równości 2 średnik.
Linia 5. int max znak równości liczbaPierwsza średnik.
Linia 7. while otwórz nawias okrągły rozkladanaLiczba zamknij nawias ostrokątny 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. while otwórz nawias okrągły rozkladanaLiczba procent liczbaPierwsza znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 9. rozkladanaLiczba prawy ukośnik znak równości liczbaPierwsza średnik.
Linia 10. zamknij nawias klamrowy.
Linia 12. max znak równości liczbaPierwsza średnik.
Linia 14. liczbaPierwsza plus plus średnik.
Linia 15. zamknij nawias klamrowy.
Linia 17. System kropka out kropka print otwórz nawias okrągły max zamknij nawias okrągły średnik.
Linia 18. zamknij nawias klamrowy.
Linia 19. zamknij nawias klamrowy.
31
Ćwiczenie 3
Napisz program rozkładający liczbę całkowitą na czynniki pierwsze, a następnie wypisujący czynnik, który najwięcej razy pojawił się w rozkładzie. Sprawdź działanie programu dla liczby 13835745.
Jeśli w rozkładzie na czynniki pierwsze danej liczby występuje więcej niż jeden taki czynnik, czynniki powinny być wypisywane w nowych wierszach.
Specyfikacja problemu:
Dane:
rozkladanaLiczba – liczba naturalna dodatnia większa od 1; liczba, której faktoryzację należy przeprowadzić
Wynik:
Na wyjściu standardowym program wypisze czynnik, który najczęściej pojawił się w rozkładzie. Jeżeli jest kilka takich czynników, program wypisuje je w oddzielnych linijkach, w kolejności od najmniejszego do największego.
Przykładowe wyjście dla liczby 13835745:
Linia 1. 11.
R58SFNP8QX3kc1
Przykładowe rozwiązanie:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. long rozkladanaLiczba znak równości 13835745 średnik.
Linia 4. int liczbaPierwsza znak równości 2 średnik.
Linia 5. int liczbaPowtorzen znak równości 0 średnik.
Linia 6. int maxPowtorzen znak równości 0 średnik.
Linia 7. long otwórz nawias kwadratowy zamknij nawias kwadratowy najwiekszaLiczbaPowtorzen znak równości new long otwórz nawias kwadratowy 9999 zamknij nawias kwadratowy średnik.
Linia 9. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny najwiekszaLiczbaPowtorzen kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości minus 1 średnik.
Linia 11. zamknij nawias klamrowy.
Linia 13. int indeksNajwiekszaLiczbaPowtorzen znak równości 0 średnik.
Linia 15. while otwórz nawias okrągły rozkladanaLiczba zamknij nawias ostrokątny 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 16. while otwórz nawias okrągły rozkladanaLiczba procent liczbaPierwsza znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. rozkladanaLiczba prawy ukośnik znak równości liczbaPierwsza średnik.
Linia 18. liczbaPowtorzen plus plus średnik.
Linia 19. zamknij nawias klamrowy.
Linia 21. if otwórz nawias okrągły liczbaPowtorzen zamknij nawias ostrokątny maxPowtorzen zamknij nawias okrągły otwórz nawias klamrowy.
Linia 22. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny najwiekszaLiczbaPowtorzen kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 23. najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy i zamknij nawias kwadratowy znak równości minus 1 średnik.
Linia 24. zamknij nawias klamrowy.
Linia 26. maxPowtorzen znak równości liczbaPowtorzen średnik.
Linia 27. najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy 0 zamknij nawias kwadratowy znak równości liczbaPierwsza średnik.
Linia 28. indeksNajwiekszaLiczbaPowtorzen znak równości 1 średnik.
Linia 29. zamknij nawias klamrowy.
Linia 30. else if otwórz nawias okrągły liczbaPowtorzen znak równości znak równości maxPowtorzen zamknij nawias okrągły otwórz nawias klamrowy.
Linia 31. najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy indeksNajwiekszaLiczbaPowtorzen zamknij nawias kwadratowy znak równości liczbaPierwsza średnik.
Linia 32. indeksNajwiekszaLiczbaPowtorzen plus plus średnik.
Linia 33. zamknij nawias klamrowy.
Linia 35. liczbaPierwsza plus plus średnik.
Linia 36. liczbaPowtorzen znak równości 0 średnik.
Linia 37. zamknij nawias klamrowy.
Linia 39. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny najwiekszaLiczbaPowtorzen kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 40. if otwórz nawias okrągły najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy i zamknij nawias kwadratowy wykrzyknik znak równości minus 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 41. System kropka out kropka println otwórz nawias okrągły najwiekszaLiczbaPowtorzen otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły średnik.
Linia 42. zamknij nawias klamrowy.
Linia 43. zamknij nawias klamrowy.
Linia 44. zamknij nawias klamrowy.
Linia 45. zamknij nawias klamrowy.