The program must accept an integer N as the input. The program must print all the step numbers from 1 to N as the output. If there is no such integer then the program must print -1 as the output. A number is called a step number if all the adjacent digits have an absolute difference of 1.
Note: The number of digits in a step number is always greater than 1.
Input Format:
The first line contains N.
Output Format:
The first line contains the integer value(s) or -1.
Example Input/Output 1:
Input:
12
Output:
10 12
Explanation:
The absolute difference between all the adjacent digits in the integer 10 is 1 (1 – 0).
The absolute difference between all the adjacent digits in the integer 12 is 1 (1 – 2).
So the step numbers from 1 to 12 are 10 and 12.
Hence the output is 10 12
Example Input/Output 2:
Input:
5
Output:
-1
Example Input/Output 3:
Input:
130
Output:
10 12 21 23 32 34 43 45 54 56 65 67 76 78 87 89 98 101 121 123
C:
#include<stdio.h>
#include <stdlib.h>
int fun(int n){
while(n/10){
if(abs(n%10 - (n/10)%10 )!=1)return 0;
n=n/10;
}
return 1;
}
int main()
{
int n;
scanf("%d",&n);
int i=10,c=0;
while(i<=n){
if(fun(i)){
printf("%d ",i);
c=1;
}
i++;
}
if(c==0)printf("-1");
}
Python:
a=int(input());p=0
for i in range(10,a+1):
d,c=i,0
while d>9:
if abs(d%10-(d//10)%10)!=1:
c=1
break
d//=10;
if c==0:print(i,end=' ');p=1
if p==0:print(-1)