program nested_harmonic_sum
implicit none
integer :: i, j
real(8) :: sum1, sum2, sum3, sum4
! Method 1: Double loop using DO
sum1 = 0.0d0
do i = 1, 100
do j = 1, i
sum1 = sum1 + 1.0d0 / dble(j)
end do
end do
print *, 'sum1 =', sum1
! Method 2: Using WHILE-like structure with DO
sum2 = 0.0d0
i = 1
do while (i < 100)
j = 1
do while (j < i)
sum2 = sum2 + 1.0d0 / dble(j)
j = j + 1
end do
i = i + 1
end do
print *, 'sum2 =', sum2
! Method 3: Nested FOR-like loops with inner sum
sum3 = 0.0d0
do i = 1, 99
sum4 = 0.0d0
do j = 1, i - 1
sum4 = sum4 + 1.0d0 / dble(j)
end do
sum3 = sum3 + sum4
end do
print *, 'sum3 =', sum3
end program nested_harmonic_sum
cHJvZ3JhbSBuZXN0ZWRfaGFybW9uaWNfc3VtCiAgaW1wbGljaXQgbm9uZQogIGludGVnZXIgOjogaSwgagogIHJlYWwoOCkgOjogc3VtMSwgc3VtMiwgc3VtMywgc3VtNAoKICAhIE1ldGhvZCAxOiBEb3VibGUgbG9vcCB1c2luZyBETwogIHN1bTEgPSAwLjBkMAogIGRvIGkgPSAxLCAxMDAKICAgICBkbyBqID0gMSwgaQogICAgICAgIHN1bTEgPSBzdW0xICsgMS4wZDAgLyBkYmxlKGopCiAgICAgZW5kIGRvCiAgZW5kIGRvCiAgcHJpbnQgKiwgJ3N1bTEgPScsIHN1bTEKCiAgISBNZXRob2QgMjogVXNpbmcgV0hJTEUtbGlrZSBzdHJ1Y3R1cmUgd2l0aCBETwogIHN1bTIgPSAwLjBkMAogIGkgPSAxCiAgZG8gd2hpbGUgKGkgPCAxMDApCiAgICAgaiA9IDEKICAgICBkbyB3aGlsZSAoaiA8IGkpCiAgICAgICAgc3VtMiA9IHN1bTIgKyAxLjBkMCAvIGRibGUoaikKICAgICAgICBqID0gaiArIDEKICAgICBlbmQgZG8KICAgICBpID0gaSArIDEKICBlbmQgZG8KICBwcmludCAqLCAnc3VtMiA9Jywgc3VtMgoKICAhIE1ldGhvZCAzOiBOZXN0ZWQgRk9SLWxpa2UgbG9vcHMgd2l0aCBpbm5lciBzdW0KICBzdW0zID0gMC4wZDAKICBkbyBpID0gMSwgOTkKICAgICBzdW00ID0gMC4wZDAKICAgICBkbyBqID0gMSwgaSAtIDEKICAgICAgICBzdW00ID0gc3VtNCArIDEuMGQwIC8gZGJsZShqKQogICAgIGVuZCBkbwogICAgIHN1bTMgPSBzdW0zICsgc3VtNAogIGVuZCBkbwogIHByaW50ICosICdzdW0zID0nLCBzdW0zCgplbmQgcHJvZ3JhbSBuZXN0ZWRfaGFybW9uaWNfc3Vt