Soal ke delapan,
input = 3
output =
2
3 2
5 3 2
Sama seperti soal sebelumnya, soal ini membutuhkan scanning, looping, print dan juga menyimpan array.
Bagilah program ini menjadi 2, dimana bagian pertama adalah memasukan data ke dalam program.
Untuk mencari bilangan prima dan memasukannya ke dalam array intinya anda harus mencari bilangan terkecil yang mempunyai faktor 2. Bilangan prima dicari dengan cara mencari jumlah faktor. Faktor adalah bilangan yang bisa membagi bilangan tadi dengan sisa 0.
Sedangkan untuk pencarian bilangan berikutnya, mulai lah dari bilangan itu sendiri ditambah satu agar bilangan tadi tidak dihitung lagi,bingung? langsung liat contoh nya
ex:
pencarian dimulai
1 memiliki faktor hanya 1
2 memiliki faktor 2 yaitu satu dan dua → 2 dimasukan ke array
tapi pada program dimulai dengan array[0] yang sudah di isi 2, sehingga angka berikut nya mulai 3.
Dengan menggunakan while do, program akan mencari a yang prima dan memasukan nya kedalam array, lalu akan dilakukan lagi pencarian yang dimulai dengan a yang baru yaitu a lama + 1. Selama a bukan bilangan dengan faktor dua, maka a akan ditambah satu terus tanpa dimasukan ke dalam array. Jangan lupa bahwa array dimulai dari array ke 0.
itulah bagian pertama.
Bila kita mengerjakan bagian pertama dengan array maka bagian kedua sangatlah simple yaitu kita memulai looping untuk print yang sama dengan soal kedua, dimana dibutuhkan spasi yang berbeda tiap baris agar program terlihat rata kanan.
seperti ini
Seharusnya tidak ada lagi kesulitan saat print karena sudah dilakukan berkali – kali, kalau masih bingung mungkin perlu kembali ke tutorial dasar c++.