mirror of https://github.com/01-edu/public.git
OGordoo
5 years ago
1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||||
|
## reachable_number |
||||||
|
|
||||||
|
### 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 |
||||||
|
|
||||||
|
```go |
||||||
|
func Reachable_number(n int) int { |
||||||
|
|
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
### Usage |
||||||
|
|
||||||
|
Here is a possible program to test your function : |
||||||
|
|
||||||
|
```go |
||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"fmt" |
||||||
|
) |
||||||
|
|
||||||
|
func main() { |
||||||
|
fmt.Println(Reachable_number(1)) |
||||||
|
fmt.Println(Reachable_number(10)) |
||||||
|
fmt.Println(Reachable_number(1001)) |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
And its output : |
||||||
|
|
||||||
|
```console |
||||||
|
student@ubuntu:~/[[ROOT]]/test$ go build |
||||||
|
student@ubuntu:~/[[ROOT]]/test$ ./test |
||||||
|
9 |
||||||
|
19 |
||||||
|
36 |
||||||
|
student@ubuntu:~/[[ROOT]]/test$ |
||||||
|
``` |
Loading…
Reference in new issue