<?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=2053_-_Fibo_Div</id>
	<title>2053 - Fibo Div - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2053_-_Fibo_Div"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2053_-_Fibo_Div&amp;action=history"/>
	<updated>2026-06-17T10:35:25Z</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=2053_-_Fibo_Div&amp;diff=10031&amp;oldid=prev</id>
		<title>RebecaBud: Pagină nouă: == Enunt == Fie șirul Fibonacci, dat prin F[1] = 1, F[2] = 1 și relația de recurență F[k] = F[k-1] + F[k-2], k ≥ 3 . Se consideră un număr natural N și un șir A[1], A[2],...,A[N] de N numere naturale distincte. Se consideră de asemenea și un număr natural T. == Cerinţa == Să se scrie un program care determină o valoare D ce reprezintă numărul termenilor din șirul Fibonacci F[1], F[2] ,..., F[T] care sunt divizibili cu cel puțin unul dintre numerele A[1],...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2053_-_Fibo_Div&amp;diff=10031&amp;oldid=prev"/>
		<updated>2024-06-03T17:12:25Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Fie șirul Fibonacci, dat prin F[1] = 1, F[2] = 1 și relația de recurență F[k] = F[k-1] + F[k-2], k ≥ 3 . Se consideră un număr natural N și un șir A[1], A[2],...,A[N] de N numere naturale distincte. Se consideră de asemenea și un număr natural T. == Cerinţa == Să se scrie un program care determină o valoare D ce reprezintă numărul termenilor din șirul Fibonacci F[1], F[2] ,..., F[T] care sunt divizibili cu cel puțin unul dintre numerele A[1],...&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 F[1] = 1, F[2] = 1 și relația de recurență F[k] = F[k-1] + F[k-2], k ≥ 3 . Se consideră un număr natural N și un șir A[1], A[2],...,A[N] de N numere naturale distincte. Se consideră de asemenea și un număr natural T.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Să se scrie un program care determină o valoare D ce reprezintă numărul termenilor din șirul Fibonacci F[1], F[2] ,..., F[T] care sunt divizibili cu cel puțin unul dintre numerele A[1], A[2],...,A[N].&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare fibodiv.in conţine pe prima linie numerele N și T separate printr-un spațiu, iar pe a doua linie N numere naturale, A[1], A[2],...,A[N], separate prin câte un spațiu.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire fibodiv.out va conţine pe prima linie numărul natural D,cu semnificația de mai sus.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 ≤ N ≤ 15&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2 ≤ T ≤ 1018&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2 ≤ A[i] ≤ 50, 1 ≤ i ≤ N&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; fibodiv.in&lt;br /&gt;
&lt;br /&gt;
  3 20&lt;br /&gt;
  3 6 10&lt;br /&gt;
; fibodiv.out&lt;br /&gt;
&lt;br /&gt;
  6&lt;br /&gt;
== Explicație ==&lt;br /&gt;
N = 3; T = 20; A1 = 3, A2 = 6, A3 = 10. Primii 20 de termeni ai șirului Fibonacci sunt: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765. Printre aceștia se găsesc 6 termeni divizibili cu cel puțin unul dintre numerele 3, 6, 10 și anume: 3, 21, 144, 610, 987, 6765.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&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 fibonacci_sequence(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;
    return fib&lt;br /&gt;
&lt;br /&gt;
def count_divisible_terms(fib_sequence, divisors):&lt;br /&gt;
    count = 0&lt;br /&gt;
    for term in fib_sequence:&lt;br /&gt;
        for divisor in divisors:&lt;br /&gt;
            if term % divisor == 0:&lt;br /&gt;
                count += 1&lt;br /&gt;
                break&lt;br /&gt;
    return count&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;fibodiv.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        N, T = map(int, fin.readline().split())&lt;br /&gt;
        divisors = list(map(int, fin.readline().split()))&lt;br /&gt;
&lt;br /&gt;
    fib_sequence = fibonacci_sequence(T)&lt;br /&gt;
    count = count_divisible_terms(fib_sequence, divisors)&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;fibodiv.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
        fout.write(str(count) + &amp;quot;\n&amp;quot;)&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>