bnghtz

teglapakolo.pl

Nov 10th, 2013
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.09 KB | None | 0 0
  1. #! /usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. #============================================
  6.  
  7. my $x = 2;
  8. my $tavolsag = 5; # km
  9. my $teglak = 600;
  10.  
  11. #============================================
  12.  
  13. sub sebesseg($)
  14. {
  15.   my $tegla = shift;
  16.   my $sebesseg = ( 2 / (1 + $tegla ** $x));
  17.   return $sebesseg;
  18. }
  19.  
  20. sub egy_ut_ideje($)
  21. {
  22.   my $tegla = shift;
  23.   my $ido = $tavolsag / sebesseg($tegla);
  24.   return $ido
  25. }
  26.  
  27. #============================================
  28.  
  29. my ($min, $min_hely);
  30.  
  31. foreach my $hanyasaval (1 .. $teglak)
  32. {
  33.   my $maradt = $teglak;
  34.   my $ido = 0;
  35.  
  36.   while ($maradt > 0)
  37.   {
  38.     # oda ut:
  39.     $ido += egy_ut_ideje($hanyasaval);
  40.     # vissza ut:
  41.     $ido += egy_ut_ideje($hanyasaval) if ($maradt > $hanyasaval);
  42.    
  43.     $maradt -= $hanyasaval;
  44.   }
  45.  
  46.   if (!defined($min) || ($min > $ido))
  47.   {
  48.     $min_hely = $hanyasaval;
  49.     $min = $ido;
  50.   }
  51.  
  52.   print "hanyasaval = $hanyasaval  \t ido = $ido\n";
  53. }
  54.  
  55. print "\nlegjobb, ha $min_hely -val visszuk a teglat, ekkor az ido: $min\n";
  56.  
  57.  
  58.  
  59. =pod
  60. legjobb, ha 1 -val visszuk a teglat, ekkor az ido: 5995
  61.  
  62. =cut
Advertisement
Add Comment
Please, Sign In to add comment