#!perl $| = 1; use strict; use warnings; my $PI = 3.1415926535; my $ok = 3.141592653; my ($ecken, $steps, $pi_i, $pi_a); $ecken = 30000; $steps = 2000; $pi_i = 1; $pi_a = 2; #Angabe der Anzahl der Ecken des Vielecks die in den Kreis gelegt werden print "\n\n\t\tSIN\t\t\tTAN\n"; print "\t\t(Innenecken)\t\t(Aussenecken)\n"; while ($pi_i lt $pi_a) { $ecken = $ecken + $steps; $pi_i = sin($PI/$ecken)*$ecken; $pi_a = tan($PI/$ecken)*$ecken; print ":$steps:\t$ecken\t$pi_i\t$pi_a\n"; if ($pi_i gt $ok) { print "\n\nPI durch $ecken Innenecken funden!!!\n\n"; last; } if ($pi_a lt $ok) { print "\n\nPI durch $ecken Aussenecken gefunden!!!\n\n"; last; } if ($ecken > 101650) { $steps = 1;} else { if ($ecken > 101640) {$steps =2;} else { if ($ecken > 101600 ) { $steps = 4;} else { if ($ecken > 101400) { $steps = 20;} else { if ($ecken > 101000) { $steps = 120;} else { if ($ecken > 98000) { $steps = 400;} else { if ($ecken > 80000) { $steps = 1200;} else { if ($ecken > 60000) { $steps = 1800;} } } } } } } } sub tan { sin($_[0]) / cos($_[0]) }