Categories

# Lucky Numbers in Java

## What are Lucky Numbers?

Consider a sequence of natural numbers:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, …
Removing every second number produces a sequence:
1, 3, 5, 7, 9, 11, 13, 15, …
Removing every third number produces a sequence:
1, 3, 7, 9, 13, 15 …
And this process continues, and we observe that some numbers remain indefinitely in the sequence. These numbers are known as Lucky Numbers.

Write a program in Java to generate and display all the lucky numbers up to a given limit.

Example 1:
INPUT:
N = 10
OUTPUT:
Lucky numbers within 10 are:
1, 3, 7
Example 2:
INPUT:
N = 25
OUTPUT:
Lucky numbers within 25 are:
1, 3, 7, 13, 19

``````import java.io.*;
class LuckyNumber{
static int gap = 2;
public static void main(String args[])
throws IOException{
System.out.print("N = ");
int n = Integer.parseInt(br.readLine());
for(int i = 1; i <= n; i++){
if(isLucky(i))
System.out.print(i + "\t");
gap = 2;
}
}
public static boolean isLucky(int n){
if(gap > n)
return true;
else if(n % gap == 0)
return false;
n = n - n / gap;
gap++;
return isLucky(n);
}
}``````

This site uses Akismet to reduce spam. Learn how your comment data is processed.