Skip to content
Related Articles

Related Articles

Sum of numbers from 1 to N which are in Lucas Sequence
  • Last Updated : 08 Mar, 2019

Given a number N. The task is to find the sum of numbers from 1 to N, which are present in the Lucas Sequence.

The Lucas numbers are in the following integer sequence:

2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123 ......

Examples:

Input :  N = 10
Output : 17

Input : N = 5
Output : 10

Approach:

  • Loop through all the Lucas numbers which are less than the given value N.
  • Initialize a sum variable with 0.
  • Keep on adding these lucas numbers to get the required sum.

Below is the implementation of the above approach:

C++




// C++ program to find sum of numbers from
// 1 to N which are in Lucas Sequence
#include <bits/stdc++.h>
using namespace std;
  
// Function to return the
// required sum
int LucasSum(int N)
{
    // Generate lucas number and keep on
    // adding them
    int sum = 0;
    int a = 2, b = 1, c;
  
    sum += a;
  
    while (b <= N) {
  
        sum += b;
        int c = a + b;
        a = b;
        b = c;
    }
  
    return sum;
}
  
// Driver code
int main()
{
    int N = 20;
    cout << LucasSum(N);
    return 0;
}


Java




// java program to find sum of numbers from
// 1 to N which are in Lucas Sequence
class GFG
{
  
// Function to return the
// required sum
static int LucasSum(int N)
{
    // Generate lucas number and keep on
    // adding them
    int sum = 0;
    int a = 2, b = 1, c;
  
    sum += a;
  
    while (b <= N) {
  
        sum += b;
        c = a + b;
        a = b;
        b = c;
    }
  
    return sum;
}
  
// Driver code
public static void main(String[] args)
{
    int N = 20;
    System.out.println(LucasSum(N));
      
}
// This code is contributed by princiraj1992 
}


Python3




# Python3 program to find Sum of 
# numbers from 1 to N which are 
# in Lucas Sequence
  
# Function to return the
# required Sum
def LucasSum(N):
      
    # Generate lucas number and 
    # keep on adding them
    Sum = 0
    a = 2
    b = 1
    c = 0
  
    Sum += a
  
    while (b <= N):
  
        Sum += b
        c = a + b
        a = b
        b = c
  
    return Sum
  
# Driver code
N = 20
print(LucasSum(N))
  
# This code is contributed 
# by mohit kumar


C#




// C# program to find sum of numbers from
// 1 to N which are in Lucas Sequence
using System;
  
class GFG
{
  
// Function to return the
// required sum
static int LucasSum(int N)
{
    // Generate lucas number and keep on
    // adding them
    int sum = 0;
    int a = 2, b = 1, c;
  
    sum += a;
  
    while (b <= N) 
    {
  
        sum += b;
        c = a + b;
        a = b;
        b = c;
    }
  
    return sum;
}
  
// Driver code
public static void Main(String[] args)
{
    int N = 20;
    Console.WriteLine(LucasSum(N));
}
}
  
// This code contributed by Rajput-Ji


PHP




<?php
// PHP program to find sum of numbers from
// 1 to N which are in Lucas Sequence
  
// Function to return the required sum
function LucasSum($N)
{
    // Generate lucas number and 
    // keep on adding them
    $sum = 0;
    $a = 2; $b = 1; $c;
  
    $sum += $a;
  
    while ($b <= $N
    {
        $sum += $b;
        $c = $a + $b;
        $a = $b;
        $b = $c;
    }
  
    return $sum;
}
  
// Driver code
$N = 20;
echo(LucasSum($N));
      
// This code is contributed 
// by Code_Mech. 
?>


Output:

46

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :