<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3047_-_Fibo_Frac</id>
	<title>3047 - Fibo Frac - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3047_-_Fibo_Frac"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3047_-_Fibo_Frac&amp;action=history"/>
	<updated>2026-05-01T19:02:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3047_-_Fibo_Frac&amp;diff=10058&amp;oldid=prev</id>
		<title>RebecaBud: Pagină nouă: == Enunt == Fie șirul Fibonacci dat prin F1 = 1, F2 = 1 și relația de recurență Fk = Fk-1 + Fk-2, k ≥ 3. Se consideră un număr natural N. == Cerinţa == Să se scrie un program care determină numărul F al fracțiilor diferite ireductibile subunitare, ce se pot forma utilizând primii N termeni ai șirului Fibonacci. == Date de intrare == Fișierul de intrare fibofrac.in conține pe prima linie numărul N. == Date de ieșire == Fișierul de ieșire fibofrac.out va c...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3047_-_Fibo_Frac&amp;diff=10058&amp;oldid=prev"/>
		<updated>2024-06-03T17:50:47Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Fie șirul Fibonacci dat prin F1 = 1, F2 = 1 și relația de recurență Fk = Fk-1 + Fk-2, k ≥ 3. Se consideră un număr natural N. == Cerinţa == Să se scrie un program care determină numărul F al fracțiilor diferite ireductibile subunitare, ce se pot forma utilizând primii N termeni ai șirului Fibonacci. == Date de intrare == Fișierul de intrare fibofrac.in conține pe prima linie numărul N. == Date de ieșire == Fișierul de ieșire fibofrac.out va c...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
Fie șirul Fibonacci dat prin F1 = 1, F2 = 1 și relația de recurență Fk = Fk-1 + Fk-2, k ≥ 3. Se consideră un număr natural N.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Să se scrie un program care determină numărul F al fracțiilor diferite ireductibile subunitare, ce se pot forma utilizând primii N termeni ai șirului Fibonacci.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare fibofrac.in conține pe prima linie numărul N.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire fibofrac.out va conține pe prima linie numărul F, cu semnificația de mai sus.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* Pentru teste în valoare de 24 puncte, 0 &amp;lt; N &amp;lt; 80&lt;br /&gt;
* Pentru teste în valoare de 40 puncte, 0 &amp;lt; N &amp;lt; 1101&lt;br /&gt;
* Pentru teste în valoare de 56 puncte, 0 &amp;lt; N &amp;lt; 50001&lt;br /&gt;
* Pentru teste în valoare de 100 puncte, 0 &amp;lt; N &amp;lt; 1.000.000&lt;br /&gt;
* Două fracții ireductibile a / b și c / d sunt diferite dacă a ≠ c sau b ≠ d.&lt;br /&gt;
* 0 ≤ F &amp;lt; 2^63&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; fibofrac.in&lt;br /&gt;
&lt;br /&gt;
  7&lt;br /&gt;
; fibofrac.out&lt;br /&gt;
&lt;br /&gt;
  14&lt;br /&gt;
== Explicație ==&lt;br /&gt;
N = 7; Primii 7 termeni ai șirului Fibonacci sunt: 1, 1, 2, 3, 5, 8, 13. Se pot forma 14 fracții diferite ireductibile subunitare: 1/2, 1/3, 1/5, 1/8, 1/13, 2/3, 2/5, 2/13, 3/5, 3/8, 3/13, 5/8, 5/13, 8/13.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; fibofrac.in&lt;br /&gt;
&lt;br /&gt;
  2019&lt;br /&gt;
; fibofrac.out&lt;br /&gt;
&lt;br /&gt;
  1547722&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; fibofrac.in&lt;br /&gt;
&lt;br /&gt;
  500000&lt;br /&gt;
; fibofrac.out&lt;br /&gt;
&lt;br /&gt;
  94988288219&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def gcd(a, b):&lt;br /&gt;
    while b:&lt;br /&gt;
        a, b = b, a % b&lt;br /&gt;
    return a&lt;br /&gt;
&lt;br /&gt;
def count_fibonacci_fractions(n):&lt;br /&gt;
    fib = [1, 1]&lt;br /&gt;
    for i in range(2, n):&lt;br /&gt;
        fib.append(fib[i - 1] + fib[i - 2])&lt;br /&gt;
    &lt;br /&gt;
    count = 0&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(i + 1, n):&lt;br /&gt;
            if gcd(fib[i], fib[j]) == 1:&lt;br /&gt;
                count += 1&lt;br /&gt;
    return count&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;fibofrac.in&amp;quot;, &amp;quot;r&amp;quot;) as f_in:&lt;br /&gt;
        n = int(f_in.readline().strip())&lt;br /&gt;
    &lt;br /&gt;
    result = count_fibonacci_fractions(n)&lt;br /&gt;
    &lt;br /&gt;
    with open(&amp;quot;fibofrac.out&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
        f_out.write(str(result))&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>RebecaBud</name></author>
	</entry>
</feed>