Skip to content

YlmzCmlttn

Cemalettin Yılmaz Blog

Menu
  • Home
  • About Me
  • Projects
    • Iot-AR
    • Magnifi-AR
    • Smarthome-IOS
    • Others
  • Categories
    • Articles
    • Augmented Reality
    • Capture The Flag
      • Google CTF
        • 2018
    • Embedded Systems
    • IoT
    • Logisim
    • My Essays
    • Nvidia Jetson
      • Jetson TX1
    • Operating Systems
      • Kali
      • Raspbian
      • Ubuntu
    • Personal
    • Programming
      • Arduino
      • C
      • C#
      • Css
      • Html
      • Js
      • Matlab
      • Node.js
      • Python
      • Swift
      • VHDL
    • Projects
      • Embedded Systems
      • Electric
      • IoT
      • IoT-AR
      • Logisim
      • Magnifi-AR
      • Pose Estimation
    • Raspberry Pi
    • Xilinx
    • Others
Menu

Loop Operation and Recursive Functions in C

Posted on January 1, 2018March 24, 2018 by Yılmaz Cemalettin

Given task;

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 1, the first 10 terms will be:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …
By considering the terms in the Fibonacci sequence whose values do not exceed two billion, find the number of even and odd valued terms, by:
i. Using the while() { } loop
ii. Using the do { } while() loop
iii. Using the for() { } loop
iv. Using recursive function call
For each of the alternative implementations listed above, you are supposed to print the number of even and odd Fibonacci numbers that do not exceed two billion on the screen, as follows:
15 31

Part i :  Using the while() { } loop

Part1i
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
int main()
{
   int  first = 1, second = 1, even=0, odd=2,next;
   printf("Fibonacci series are :\n");
   printf("%d\n",first);
   printf("%d\n",second);
   while (first+second<2000000000 && first+second>0){        
  next = first + second;
          first = second;
          second = next;
      printf("%d\n",next);
   if (next%2 == 0){
   even++;
           }else{
       odd++;
   }
   }
   printf("\nNumber of even and odd numbers: %d\t%d",even,odd);
   return 0;
}

Part ii. Using the do { } while() loop

Part1ii
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
int main()
{
   int  first = 1, second = 1, even=0, odd=2,next;
   printf("Fibonacci series are :\n");
   printf("%d\n",first);
   printf("%d\n",second);
   do{
      next = first + second;
          first = second;
          second = next;
      if (next%2 == 0){
  even++;
           }else{
       odd++;
   printf("%d\n",next);
   }
   }
   while (first+second<2000000000 && first+second>0);      
      
   printf("\nNumber of even and odd numbers: %d\t%d",even,odd);
   return 0;
}

Part iii

Partiii
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<stdio.h>
int main()
{
   int  first = 1, second = 1, even=0, odd=2, next, c;
   printf("Fibonacci series are :\n");
   printf("%d\n",first);
   printf("%d\n",second);
   for ( c = 0 ; c < 100 ; c++ ){
  if ( first+second< 2000000000 && first+second>0 ) {  
  next = first + second;
          first = second;
          second = next;      
      printf("%d\n",next);
   if (next%2 == 0){
   even++;
           }else{
       odd++;
   }
   }
   }
   printf("\nNumber of even and odd numbers: %d\t%d",even,odd);
   return 0;
}

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

My Motto

“Learn to share, Share to learn”

LinkedIn Badge

Cemalettin Yılmaz

Ads

Archives

Categories

  • Articles (1)
  • Augmented Reality (3)
  • Capture The Flag (23)
    • Google CTF (22)
      • 2018 (13)
      • 2019 (9)
    • PicoCTF (1)
      • 2019 (1)
  • Embedded Systems (3)
  • IoT (3)
  • Logisim (1)
  • My Essays (3)
  • Nvidia Jetson (5)
    • Xavier (5)
  • Operating Systems (24)
    • Kali (3)
    • Raspbian (2)
    • Ubuntu (21)
  • Others (1)
  • Personal (1)
  • Programming (44)
    • Arduino (4)
    • C (10)
    • C# (4)
    • C++ (5)
    • Css (1)
    • CUDA (6)
    • Html (1)
    • Js (2)
    • Libraries (5)
      • OpenCV (3)
      • OpenGL (2)
    • Matlab (14)
    • Node.js (5)
    • Python (6)
    • Swift (3)
  • Programs (4)
    • Tools (4)
  • Projects (21)
    • Books Solutions (8)
    • Electric (2)
    • Embedded Systems (2)
    • Energy Harvesting (1)
    • IoT (2)
    • IoT-AR (1)
    • Logisim (1)
    • Magnifi-AR (3)
    • Pose Estimation (3)
    • Smarthome-Ios (1)
  • Raspberry Pi (3)
  • Uncategorized (2)
  • YZlib (1)

Recent Posts

  • atof stof stod problems with local floating point separator in C/C++
  • Pico CTF 2019 Answers
  • YZlib: Personal C++ Library
  • Drive to target | Google CTF 2019
  • FriendSpaceBookPlusAllAccessRedPremium | Google CTF 2019

Recent Comments

  • AbaShelha on Ghidra Installation on Ubuntu |18.04, 16.04, 14.04
  • Peter on Ghidra Installation on Ubuntu |18.04, 16.04, 14.04
  • Yılmaz Cemalettin on Ghidra Installation on Ubuntu |18.04, 16.04, 14.04
  • Yılmaz Cemalettin on 16-Bit CPU on Logisim
  • Jenny on 16-Bit CPU on Logisim
  • MOON on 16-Bit CPU on Logisim
  • anti on Ghidra Installation on Ubuntu |18.04, 16.04, 14.04
  • hunkerjr on STOP GAN | Google CTF 2019
  • Shaq on 16-Bit CPU on Logisim
  • NURUL AFIQAH MOHD HASBULLAH on 16-Bit CPU on Logisim

Linkedln

© 2022 YlmzCmlttn | Powered by Superbs Personal Blog theme