Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <list>
- #include <vector>
- #include <bits/stdc++.h>
- using namespace std;
- int mission1(int);
- unsigned long long mission2(int);
- void initial(void);
- void printDivisors(unsigned long long);
- int mission1_new(int);
- struct factorlist
- {
- int value1,value2,dif;
- struct factorlist *link;
- };
- struct factorlist *head,*next,*current,*prev,*ptr;
- int main()
- {
- int num1;
- while(1)
- {
- int num;
- cout<<"\n"<<"**Fibonacci Series Generator**"<<endl;
- cout<<"* 0.Quit *"<<endl;
- cout<<"* 1.Iterative generation *"<<endl;
- cout<<"* 2.Recursive generation *"<<endl;
- cout<<"*******************************"<<endl;
- cout <<"Input a command(0,1,2): ";
- cin>>num;
- switch(num)
- {
- case 0:
- exit(1);
- break;
- case 1:
- cout<<"Please input a number:";
- cin>>num1;
- mission1(num1);
- break;
- case 2:
- {
- cout<<"Please input a number:";
- cin>>num1;
- //mission2(num1);
- int outloop = 0;
- for(int i=1; i<=num1; i++)
- {
- outloop++;
- unsigned long long fnum = mission2(i);
- cout<<"["<<i<<"]";
- cout<<fnum;
- unsigned long long firstnum,secnum ;
- for (unsigned long long i1=1; i1<=sqrt(fnum); i1++)
- {
- if (fnum%i1 == 0)
- {
- firstnum = i1;
- secnum = fnum/i1;
- }
- //inloop++ ;
- }
- printf(" = ");
- cout<<firstnum;
- printf(" * ");
- cout<<secnum;
- printf("\n");
- //cout<<" (Inner loop: "<<i<<" times)\n";
- }
- cout<<"<Outer recursion: "<<outloop<<" times>\n";
- break;
- }
- default:
- cout<<" Command does not exist."<<endl;
- break;
- }
- }
- return 0;
- }
- unsigned long long mission2(int num1)
- {
- if(num1==0){
- return 1;
- }
- else if(num1==1){
- return 1;
- }
- else
- return mission2(num1-1)+mission2(num1-2);
- }
- int mission1(int input)
- {
- int outloop = 0 ;
- unsigned long long f[input],Fib1=1,Fib0=0;
- for(int i=0; i<input; i++)
- {
- unsigned long long Fib;
- Fib=Fib0+Fib1;
- f[i]=Fib;
- Fib0=Fib1;
- Fib1=Fib;
- }
- unsigned long long firstnum,secnum ;
- for(int u=0; u<input; u++)
- {
- cout<<"["<<u+1<<"] "<<f[u];
- int inloop = 0 ;
- for (unsigned long long i1=1; i1<=sqrt(f[u]); i1++)
- {
- if (f[u]%i1 == 0)
- {
- firstnum = i1;
- secnum = f[u]/i1;
- }
- inloop++ ;
- }
- printf(" = ");
- cout<<firstnum;
- printf(" * ");
- cout<<secnum;
- outloop++;
- cout<<" (Inner loop: "<<inloop<<" times)\n";
- }
- cout<<"<Outer loop: "<<outloop<<" times>\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement