Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int rozmiar = 1000;
- int tab [2][rozmiar];
- int main(){
- cout<<"Witaj w programie przenaczonym do liczenia kolejnych liczb Fibonacciego.\nWpisz, do ktorego elementu ciagu chcialbys generowac kolejne elementy ciagu.\nUwaga:Nie da sie wygenerowac wiecej niz 10^18 liczb!\nDominik Matuszek 2019.\n";
- long long a;
- start:
- cin>>a;
- cout<<"\n";
- if(a>=0){
- cout<<"f(0)="<<0<<"\n";
- }
- else{
- cout<<"Numery ciagu oznaczamy od liczby 0! Podaj inna liczbe:\n";
- goto start;
- }
- if(a>0){
- cout<<"f(1)="<<1<<"\n";
- }
- if(a>1){
- cout<<"f(2)="<<1<<"\n";
- }
- int maksz=0;
- tab[0][rozmiar]=1;
- tab[1][rozmiar]=1;
- for(unsigned long long i=3;i<a+1;i++){
- for(int j=rozmiar-maksz;j<=rozmiar;j++){
- tab[i%2][j]=tab[(i-1)%2][j]+tab[i%2][j];
- }
- for(int j=rozmiar;j>0;j--){
- if(tab[i%2][j]>9){
- //cout<<"rozmiar"<<rozmiar-j+1<<endl;
- maksz=max(maksz,rozmiar-j+1);
- tab[i%2][j-1]++;
- tab[i%2][j]=tab[i%2][j]-10;
- }
- }
- cout<<"f("<<i<<")=";
- for(int j=rozmiar-maksz;j<=rozmiar;j++){
- if(tab[i%2][j]>9){
- cout<<"Shit";
- return 0;
- }
- cout<<tab[i%2][j];
- }
- cout<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement