Question

# Program to print keith numbers between lower and upper range.A number is called Keith number if it appears in a special sequence (defined below) generated using its digits. The special sequence has first n terms as digits of the number and other terms are recursively evaluated as sum of previous n terms

```				```
ENTER THE Lower Range
25
ENTER THE Upper Range
300
31 50 53 57 89 117 122 125 197 210 237 278

197 has 3 digits, so n = 3
The number is Keith because it appears in the special
sequence that has first three terms as 1, 9, 7 and
remaining terms evaluated using sum of previous 3 terms.
1, 9, 7, 17, 33, 57, 107, 197, .....
```
```

# Share code with your friends

Code

```				```
import java.util.Scanner;

public class keithNumberInGivenRange
{
public static void main()
{
int digits[];
int lowerRange=0,upperRange=0,count=0,i=0,temp=0,sum=0,j=0;
Scanner sc=new Scanner(System.in);
System.out.println("ENTER THE Lower Range");
lowerRange=sc.nextInt();
System.out.println("ENTER THE Upper Range");
upperRange=sc.nextInt();
for(i=lowerRange;i<=upperRange;i++)
{

temp=i;
while(temp>0)
{
count++;
temp=temp/10;
}
digits=new int[count];

temp=i;
while(temp>0)
{
digits[count-1]=temp%10;
temp/=10;
count--;
}

while(sum< i)
{
sum=0;
for(j=0;j< digits.length;j++)
{
sum=sum+digits[j];

}
for(j=0;j< digits.length-1;j++)
{
digits[j]=digits[j+1];

}
digits[digits.length-1]=sum;

}

if(sum==i)
{
System.out.print(i+" ");
}

}

}
}

```
```

Sale

50
Sale

150
Sale

200
Sale

50
Sale

50
Sale

50
Sale

50
Sale

50
Sale

50