Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Fibonacci Closest Number
- // Simeon Baltadziev
- // 30.04.2017
- // C programming basics
- // WIP
- #include <stdio.h>
- int main (int argc, char *argv[])
- {
- int i;
- int j;
- long arrayNumber[40];
- long difference = 10;
- long minDifference = 100000;
- long number = 0;
- //long currentNumber;
- long long enteredNumber = 0;
- printf("Enter fibonacci number: ");
- scanf("%ld", &enteredNumber);
- // Checks if input value is 0 or negative number
- if(enteredNumber == 0) { printf("Error: Input larger number than 0"); }
- if(enteredNumber <0) { printf("Error: Input possitive number"); }
- long long a = 1, b =1; // Declaring the fisrt two fibonacci numbers
- for(i = 0; i<=40;i++) {
- // Fibonacci Number Formula
- b = a-b;
- a = a+b;
- arrayNumber[i] = b;
- //prlong long f("%d\n", b);
- }
- for(j = 0; j<=40; j++) {
- long long diff = 0;
- long long diff2 = 0;
- if(enteredNumber > arrayNumber[j] && enteredNumber < arrayNumber[j+1]) {
- //prlong long f("number 1 and two %d,%d\n", arrayNumber[j], arrayNumber[j+1]);
- diff = enteredNumber - arrayNumber[j];
- diff2 = enteredNumber - arrayNumber[j+1];
- if (diff < 0) { diff = diff*(-1); }
- if (diff2< 0) { diff2 = diff2*(-1);}
- if (diff<diff2) { minDifference = diff; number = j;}
- if (diff2<diff) { minDifference = diff2; number = j+1;}
- //prlong long f("diff1 and 2 %d, %d\n", diff,diff2);
- }
- }
- // if(enteredNumber>0) {
- //prlong long f("The difference is %ld\n", minDifference);
- printf("The closest number is: %ld\n", number);
- printf("The closest number is: %ld", arrayNumber[number]);
- // }
- //printf("%d", arrayNumber[20]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment