1 Востаннє редагувалося koala (07.12.2021 09:25:57)

Тема: Множини

Умова завдання:
Задано множину цілих чисел від 1 до 50 . Скласти програму, яка визначає, скільки з них є числами Фібоначчі і скільки чисел, в запису яких перша значуща цифра дорівнює 1 або 2

Зараз зупинилась на помилці : ine 8, in <module>
b=set(fib2)
TypeError: 'int' object is not iterable

І сам код на даний момент:

a=set(range(1, 51))
print(a)

fib1=1
fib2=1
for i in a :
    fib1, fib2= fib2, fib1+fib2
b=set(fib2)

z= a & b
print(len(z))

2

Re: Множини

Так, ви трохи з алгоритмом не визначилися. Вам треба:
1а. Знайти всі числа Фібоначчі від 1 до 50;
1б. Ввести (чи задати) множину чисел (послідовність 1а та 1б не має значення - вам треба знаходити числа Фібоначчі незалежно від того, що ввели);
2. Знайти, скільки чисел з 1б входить до 1а;
3. Знайти, скільки чисел з 1б мають першу цифру 1 або 2.

Ви зараз намагаєтеся шукати 50 (за кількістю чисел у множині, в яку ви загнали всі числа від 1 до 50) перших чисел Фібоначчі, а це явно зайве (10-е число буде 55, що більше за 50; а 50-е число, вибачте, це 12586269025, що явно перевищує 50).

Поставив вам теги code і відступ там, де, схоже, він був.