human
Keith Number | Returns true if x is Keith , else false ..
Store all digits of x in a vector " terms " Also find number of digits and store in " n " ..
n = 0.
n is number of digits in x.
To get digits in right order ( from MSB to LSB ).
Keep finding next trms of a sequence generated using digits of x until we either reach x or a number greate than x.
Next term is sum of previous n terms.
When the control comes out of the while loop , either the next_term is equal to the number or greater than it . If next_term is equal to x , then x is a Keith number , else not.
Driver Code"
Solution in Python:

=====
Can you provide a code to keith Number and the other steps required?
assistant
#Here is code to keith Number and the other steps required.
 def isKeith ( x ) :
	terms = [ ] ;
	temp = x ;
	while ( temp > 0 ) :
		terms . append ( temp % 10 ) ;
		temp = int ( temp / 10 ) ;
		n += 1 ;
	terms . reverse ( ) ;
	next_term = 0 ;
	i = n ;
	while ( next_term < x ) :
		next_term = 0 ;
		for j in range ( 1 , n + 1 ) :
			next_term += terms [ i - j ] ;
		terms . append ( next_term ) ;
		i += 1 ;
	return ( next_term == x ) ;
print ( " Yes " ) if ( isKeith ( 14 ) ) else print ( " No " ) ;
print ( " Yes " ) if ( isKeith ( 12 ) ) else print ( " No " ) ;
print ( " Yes " ) if ( isKeith ( 197 ) ) else print ( " No " ) ;