Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Дільники - Фібоначчі
- Відправити розв'язок
- Мої відправки
- Всі відправки
- Кращі відправки
- Бали:5
- Time limit:1.0s
- Memory limit:64M
- Author:
- zvit
- Problem type
- Знайти всі дільники числа N, які є числами Фібоначчі.
- Формат вихідних даних
- У вхідному потоці дано N (N<106).
- Формат вихідних даних
- У вихідний потік через пропуск вивести дільники у порядку зростання.
- Приклад вхідних даних
- Copy
- 10
- Приклад вихідних даних
- Copy
- 1 2 5
- */
- #include <iostream>
- #include <vector>
- using namespace std;
- vector<long long> fb(1);
- int k=2;
- void fib(long long n)
- {
- fb[0]=0;
- fb[1]=1;
- if(n>1)
- for(int i=2;i<=n;i++)
- {
- fb[i]=fb[i-1]+fb[i-2];
- if(fb[i]>=n)break;
- k++;
- }
- }
- int main ()
- {
- long long n;
- cin>>n;
- fib(n);
- if(n==1)cout<<1<<'\n';
- else
- {
- for(int i=2;i<k;i++)
- if(n%fb[i]==0) cout<<fb[i]<<' ';
- cout<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement