Quick actions

cmd+k|ctrl+k

Navigation

Languages

Problem 52

Snippet info

Language

Go

Visibility

public

Author

muertie

Created

2017-07-25T22:02:29Z

Updated

2017-07-25T22:03:05Z

package main

import (
	"fmt"
	"math"
)

func main() {
	line := 16.667
	var n int = 1
	for i := 10; ; i++ {
		if checking(i, 6, n) {
			if checking(i, 5, n) {
				if checking(i, 4, n) {
					if checking(i, 3, n) {
						if checking(i, 2, n) {
							fmt.Println(i)
							fmt.Println("Конец")
							break
						}
					}
				}
			}
		}
		if i > int(line) {
			n++
			i = int(math.Pow(10.0, float64(n)))
			line *= 10
		}
	}

}

func checking(n int, k int8, kol int) bool {
	tmp := n
	tmp1 := n * int(k)
	var check bool = true
	var (
		v = 0
		c = make([]int, kol+1)
		g = make([]int, kol+1)
	)
	for tmp >= 1 {
		c[v] = tmp % 10
		v++
		tmp /= 10

	}
	v = 0
	for tmp1 > 1 {
		g[v] = tmp1 % 10
		v++
		tmp1 /= 10
	}
	for i := 0; i < kol+1; i++ {
		for j := 0; j < kol+1; j++ {
			if c[i] == g[j] {
				c[i] = -1
				g[j] = -2
			}
		}
	}
	for i := 0; i < kol+1; i++ {
		if c[i] != -1 {
			check = false
			return check
		}
	}
	return check
}
INFO