Tuliskan output dari program pseudo code di bawah ini.
begin
lala:=10;
x:=2;
haha:=0;
for i:=1 to lala do
begin
j:=i;
lili:=true;
while (j>1) do
begin
if (j mod x = 1) then lili:=false;
j:=j div x;
end;
if (lili=true) then haha:=haha+i;
else haha:=haha+1;
end;
writeln(haha);
end.
i haha
1 1
2 3
3 4
4 8
5 9
6 15
7 16
8 24
9 25
10 35
jadi i=10
haha= 35
bener kok, coba pake kalkulator, mod kerjanya gak begitu. mod adalah sisa dari hasil pembagian. 2x3=6, artinya 6 habis dibagi 2,artinya gaada sisa pembagiannya.
Masuk untuk menulis jawaban
programnya ngebaca kalau ada bilangan 2 pangkat maka haha+bilangan tersebut, selain itu ditambah 1.
kenapa? karna kalau ada salah satu dari bilangan (j div 2) mod 2 = 1, maka lili akan false.
jadi, dari 1-10 ada 3 bilangan 2 pangkat yaitu: 2, 4, 8.
so,
*CMIIW yaa
| i | + | Hasil |
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 1 | 4 |
| 4 | 4 | 8 |
| 5 | 1 | 9 |
| 6 | 1 | 10 |
| 7 | 1 | 11 |
| 8 | 8 | 19 |
| 9 | 1 | 20 |
| 10 | 1 |
21 |
SMANLI
bilangan berpangkat 2 dari 1-10 kan ada 4: 1,2,4 8
lalu ditambah 6 ( 3,5,6,7,9,10)karna bukan bil berpangkat2
jadi : 1 +2 + 4 + 8 + 6 = 21
CMIIW ya
bukan bilangan berpangkat 2, tapi mod 2. mod itu sisa pembagian
kalo i nya 6. j = 6. ntar j/2 = 3. terus 3 % 2 == 1. lili = false.
haha += 1;