Penyelesaian masalah di atas dengan bahasa c adalah sebagi berikut
#include <stdio.h>
void main()
{
int T=0, N=0, count=0,group=0;
int cases[10];
//Enter Number of Test Case:
scanf("%d", &T);
for(int i = 0; i < T; i++)
{
// Enter number for Case-i
scanf("%d", &cases[i]);
}
for(int i = 0; i < T; i++)
{
int x = 1;
group = 0;
while(x <= cases[i] )
{
if (cases[i] % x == 0){
group++;
}
x++;
}
printf("Case #%d : %d \n" ,i+1,group ) ;
}
}
Pembahasan
Dari soal menginginkan permen dibagi ke semua group sama rata. Dari sini dapat disimpulkan bahwa permen harus habis dibagi untuk dihitung sebagai salah satu grup yang sesuai dengan kondisi yang diharapkan.
Seperti contoh, jika 6 permen kategori grup yang memenuhi syarat adalah 4 yaitu (1,2,3,6) karena 6 habis dibagi dengan 1, 6 habis dibagi dengan 2, 6 habis dibagi dengan 3 dan 6 juga habis dibagi dengan 6. Karena permen habis dibagi maka tiap grup akan memiliki jumlah permen yang sama dan sesuai dengan syarat yang diminta pada persoalan. Nah untuk habis dibagi, dalam bahasa pemrograman bisa menggunakan operasi modulus yang dilambangkan dengan simbol %. Modulus adalah sisa bagi antara dua bilangan. Jika dinginkan kondisi habis dibagi maka bisa dikatakan x % y harus sama dengan 0.
Setelah memahami apa yang diminta dari soal, barulah kita membuat program yang sesuai
pertama kita menerima input user untuk jumlah case yang diinginkan
scanf("%d", &T);
kemudian kita akan kembali meminta input user untuk angka yang ingin diuji sebanyak jumah case (T)
for(int i = 0; i < T; i++)
{
// Enter number for Case-i
scanf("%d", &cases[i]);
}
baru kemudian kita mencari jumlah group yang memenuhi syarat di setiap case
for(int i = 0; i < T; i++) --> kita mengulang sebanyak jumlah case
{
int x = 1;
group = 0; --> mewakili jumlah group yang memenuhi syarat
while(x <= cases[i] )
{
if (cases[i] % x == 0){
group++;
}
x++;
}
untuk tiap case kita akan melakukan perulangan yang mengecek angka apa saja yang habis jika dibagi dengan jumlah permen. Dan jika ada angka yang bisa membagi habis permen, kita menambahkan group dengan 1 sebagai pertanda ada pembagi yang memenuhi syarat.
Baru di akhir tiap case kita menampilkan jumlah group yang sesuai dengan persyaratan
Verified answer
Penyelesaian masalah di atas dengan bahasa c adalah sebagi berikut
#include <stdio.h>
void main()
{
int T=0, N=0, count=0,group=0;
int cases[10];
//Enter Number of Test Case:
scanf("%d", &T);
for(int i = 0; i < T; i++)
{
// Enter number for Case-i
scanf("%d", &cases[i]);
}
for(int i = 0; i < T; i++)
{
int x = 1;
group = 0;
while(x <= cases[i] )
{
if (cases[i] % x == 0){
group++;
}
x++;
}
printf("Case #%d : %d \n" ,i+1,group ) ;
}
}
Pembahasan
Dari soal menginginkan permen dibagi ke semua group sama rata. Dari sini dapat disimpulkan bahwa permen harus habis dibagi untuk dihitung sebagai salah satu grup yang sesuai dengan kondisi yang diharapkan.
Seperti contoh, jika 6 permen kategori grup yang memenuhi syarat adalah 4 yaitu (1,2,3,6) karena 6 habis dibagi dengan 1, 6 habis dibagi dengan 2, 6 habis dibagi dengan 3 dan 6 juga habis dibagi dengan 6. Karena permen habis dibagi maka tiap grup akan memiliki jumlah permen yang sama dan sesuai dengan syarat yang diminta pada persoalan. Nah untuk habis dibagi, dalam bahasa pemrograman bisa menggunakan operasi modulus yang dilambangkan dengan simbol %. Modulus adalah sisa bagi antara dua bilangan. Jika dinginkan kondisi habis dibagi maka bisa dikatakan x % y harus sama dengan 0.
Setelah memahami apa yang diminta dari soal, barulah kita membuat program yang sesuai
pertama kita menerima input user untuk jumlah case yang diinginkan
scanf("%d", &T);
kemudian kita akan kembali meminta input user untuk angka yang ingin diuji sebanyak jumah case (T)
for(int i = 0; i < T; i++)
{
// Enter number for Case-i
scanf("%d", &cases[i]);
}
baru kemudian kita mencari jumlah group yang memenuhi syarat di setiap case
for(int i = 0; i < T; i++) --> kita mengulang sebanyak jumlah case
{
int x = 1;
group = 0; --> mewakili jumlah group yang memenuhi syarat
while(x <= cases[i] )
{
if (cases[i] % x == 0){
group++;
}
x++;
}
untuk tiap case kita akan melakukan perulangan yang mengecek angka apa saja yang habis jika dibagi dengan jumlah permen. Dan jika ada angka yang bisa membagi habis permen, kita menambahkan group dengan 1 sebagai pertanda ada pembagi yang memenuhi syarat.
Baru di akhir tiap case kita menampilkan jumlah group yang sesuai dengan persyaratan
printf("Case #%d : %d \n" ,i+1,group ) ;
Pelajari lebih lanjut
1. Pengertian perulangan bersarang brainly.co.id/tugas/14999759
2. Persoalan lain untuk perulangan bersarang brainly.co.id/tugas/4568529
Detail jawaban
Kelas: 10
Mapel: TIK
Bab: Mengenal Pemrograman Komputer
Kode: 10.11.06
Kata Kunci: perulangan bersarang, nested loop