You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

928 B

reachablenumber

Instructions

Let us define a function f(x) by the following: first we add 1 to x, and then while the last digit of the number equals 0, we shall be deleting 0. Let us call 'y' reachable if we can apply f to x (zero or more times), and get y. 102 is reachable from 10098: f(f(f(10098))) = f(f(10099)) = f(101) = f(102). Any number is reachable from itself. You are given a positive number n, count how many integers are reachable from n.

Expected function

func ReachableNumber(n int) int {

}

Usage

Here is a possible program to test your function :

package main

import "fmt"

func main() {
	fmt.Println(ReachableNumber(1))
	fmt.Println(ReachableNumber(10))
	fmt.Println(ReachableNumber(1001))
}

And its output :

student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
9
19
36
student@ubuntu:~/[[ROOT]]/test$