Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/perl
- use warnings;
- # q - keresendo kvociens
- $q = 1;
- while (1)
- {
- # n - sorozatban szereplo elemek futovaltozoja
- # a - a sorozat elso eleme
- # S - a sorozat sor osszege
- $n = 1;
- $a = 3;
- $S = $a;
- # b - a reciprok sorozat elso eleme
- # r - keresendo kvociens reciproka
- # R - a reciprok sorozat sor osszege
- $b = 1/$a;
- $r = 1/$q;
- $R = $b;
- # keressuk azt a sorozatot, aminek elso n elemenek osszege 93
- # es a reciprok sorozatanak elso n elemenek osszege 31/48
- #
- # Tehat ha elso n-1 elem erteke 93nal kisebb, adjunk meg hozza meg egy elemet.
- # Kozben szamoljuk a reciprok sorozat sorosszeget is.
- while ($S < 93)
- {
- $a *= $q;
- $b *= $r;
- $S += $a;
- $R += $b;
- $n++;
- }
- # ha megtalaltuk, irjuk ki az eredmenyt
- # es jegyezzuk meg, h talaltunk vmit
- if (($S == 93) && ($R == 31/48))
- {
- print "q = $q\n";
- print "r = $r\n";
- print "S($n) = $S\n";
- print "R($n) = $R\n";
- print "\n";
- $hit = 1;
- }
- # ha nem talaltuk meg, keressunk eggyel nagyob kvocienst, de ez Sn-nel nem lehet nagyobb
- $q++;
- last if $q > 93;
- }
- print "nem talaltunk ilyen sorozatot\n" unless $hit;
- =pod
- Hogy kell megoldani ezt a mértani sorozatos feladatot?
- a1=3
- Sn=93
- A tagok reciprokainak összege=31/48
- =======================================================================
- an = a1 * q^(n-1)
- sn = a1 * (q^n - 1) / (q - 1) = 93
- a2 = 3q
- a2^-1 = 1/3 * 1/q
- S2 = T = A tagok reciprokainak összege=31/48
- első tag: b1 = 1/a1 = 1/3
- quocines: r = 1/q
- T = 1/a1 * ((1/q)^n - 1) / (1/q - 1) = 31/48
- 2 ismeretlen: n, q, 2 lineárisan független egyenlet, az egyenlet rendszer megoldható.
- 1/3 * ((1/q)^n - 1) / (1/q - 1) = 31/48
- 3 * (q^n - 1) / (q - 1) = 93
- =cut
Advertisement
Add Comment
Please, Sign In to add comment