Harmonic series: Difference between revisions
Content added Content deleted
ReeceGoding (talk | contribs) m (→{{header|R}}: Syntax highlighting.) |
Not a robot (talk | contribs) (Add COBOL) |
||
Line 237: | Line 237: | ||
Position of first term > 10: 12367 |
Position of first term > 10: 12367 |
||
</pre> |
</pre> |
||
=={{header|COBOL}}== |
|||
<lang cobol> IDENTIFICATION DIVISION. |
|||
PROGRAM-ID. HARMONIC. |
|||
DATA DIVISION. |
|||
WORKING-STORAGE SECTION. |
|||
01 VARS. |
|||
03 N PIC 9(5) VALUE ZERO. |
|||
03 HN PIC 9(2)V9(12) VALUE ZERO. |
|||
03 INT PIC 99 VALUE ZERO. |
|||
01 OUT-VARS. |
|||
03 POS PIC Z(4)9. |
|||
03 FILLER PIC X(3) VALUE SPACES. |
|||
03 H-OUT PIC Z9.9(12). |
|||
PROCEDURE DIVISION. |
|||
BEGIN. |
|||
DISPLAY "First 20 harmonic numbers:" |
|||
PERFORM SHOW-HARMONIC 20 TIMES. |
|||
DISPLAY SPACES. |
|||
MOVE ZERO TO N, HN. |
|||
DISPLAY "First harmonic number to exceed whole number:" |
|||
PERFORM EXCEED-INT 10 TIMES. |
|||
STOP RUN. |
|||
SHOW-HARMONIC. |
|||
PERFORM NEXT-HARMONIC. |
|||
MOVE HN TO H-OUT. |
|||
DISPLAY H-OUT. |
|||
EXCEED-INT. |
|||
ADD 1 TO INT. |
|||
PERFORM NEXT-HARMONIC UNTIL HN IS GREATER THAN INT. |
|||
MOVE N TO POS. |
|||
MOVE HN TO H-OUT. |
|||
DISPLAY OUT-VARS. |
|||
NEXT-HARMONIC. |
|||
ADD 1 TO N. |
|||
COMPUTE HN = HN + 1 / N.</lang> |
|||
{{out}} |
|||
<pre>First 20 harmonic numbers: |
|||
1.000000000000 |
|||
1.500000000000 |
|||
1.833333333333 |
|||
2.083333333333 |
|||
2.283333333333 |
|||
2.449999999999 |
|||
2.592857142856 |
|||
2.717857142856 |
|||
2.828968253967 |
|||
2.928968253967 |
|||
3.019877344876 |
|||
3.103210678209 |
|||
3.180133755132 |
|||
3.251562326560 |
|||
3.318228993226 |
|||
3.380728993226 |
|||
3.439552522637 |
|||
3.495108078192 |
|||
3.547739657139 |
|||
3.597739657139 |
|||
First harmonic number to exceed whole number: |
|||
2 1.500000000000 |
|||
4 2.083333333333 |
|||
11 3.019877344876 |
|||
31 4.027245195428 |
|||
83 5.002068272651 |
|||
227 6.004366708257 |
|||
616 7.001274096877 |
|||
1674 8.000485571261 |
|||
4550 9.000208060802 |
|||
12367 10.000043002313</pre> |
|||
=={{header|Factor}}== |
=={{header|Factor}}== |