Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int input() {
- int op;
- printf("Type:\n(1) for Fibonacci\n(2) for Factorial\n(3) for Exponentiation\n");
- printf("What operation would you like to perform? ");
- scanf("%d", &op);
- return op;
- }
- int fibo(int a) {
- if(a == 0)
- return 0;
- else if(a == 1)
- return 1;
- else
- return fibo(a-1) + fibo(a-2);
- }
- int fact(int a) {
- if (a==0)
- return 1;
- else
- return a*fact(a-1);
- }
- float expt(float a, int b) {
- if(b==0)
- return 1;
- else if(b==1)
- return a;
- else if(b%2==0)
- return expt(a,b/2) * expt(a,b/2);
- else if(b%2!=0)
- return a * expt(a,(b-1)/2) * expt(a,(b-1)/2);
- }
- int main() {
- input();
- if(input()==1)
- {
- int a;
- printf("\n****FIBONACCI****\n");
- printf("Input nth term of Fibonacci sequence: ");
- scanf("%d", &a);
- if(a<0)
- {
- printf("Invalid input.\n\n");
- input();
- }
- printf("The term %d of Fibonacci sequence is %d.", a, fibo(a));
- }
- else if(input()==2)
- {
- int a;
- printf("\n****FACTORIAL****\n");
- printf("Input number: ");
- scanf("%d", &a);
- if(a<0)
- {
- printf("Invalid input.\n\n");
- input();
- }
- printf("%d! (factorial) is %d", a, fact(a));
- }
- else if(input()==3)
- {
- float a;
- int b;
- printf("\n****EXPONENTIATION****\n");
- printf("Input base number: ");
- scanf("%f", &a);
- printf("Input exponent: ");
- scanf("%d", &b);
- if(b<0)
- {
- printf("Invalid input.\n\n");
- input();
- }
- printf("%.2f raised to %d is %.2f", a, b, expt(a,b));
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment