Just to report, it gets there at $i = 130657.
#!/usr/bin/env perl use feature qw{ say } ; use strict ; use warnings ; use utf8 ; # Given that Pi can be estimated using the function # 4 * (1 – 1/3 + 1/5 – 1/7 + …) # with more terms giving greater accuracy, # write a function that calculates Pi # to an accuracy of 5 decimal places. my $pi = '3.14159' ; my $c ; for my $i ( 0..1_000_000 ) { my $j = 2 * $i + 1 ; if ( $i % 2 == 1 ) { $c -= 1 / $j ; } else { $c += 1 / $j ; } my $p = 4 * $c ; my $p2 = sprintf '%.05f' , $p ; say join ' ' , $i , $pi , $p2 , $p ; exit if $p2 eq $pi ; }
No comments:
Post a Comment