Dmitry Telenkov 1 day ago
parent
commit
696642c641
1 changed files with 251 additions and 0 deletions
  1. 251 0
      go/stepik/1/hello.go

+ 251 - 0
go/stepik/1/hello.go

@@ -0,0 +1,251 @@
+package main
+
+import "fmt"
+
+func main() {
+	// fmt.Println("hello go")
+	// sq()
+	// last_digit()
+	// dozen()
+	// clock()
+	// what_is_value()
+	// is_different()
+	// what_first()
+	// is_happiness()
+	// is_leap()
+	// foo1()
+	// foo2()
+	// foo3()
+	// foo5()
+	foo6()
+}
+
+func sq() {
+	var foo int
+	fmt.Scan(&foo)
+	fmt.Println(foo * foo)
+}
+
+func last_digit() {
+	var val int
+	fmt.Scan(&val)
+	fmt.Println(val % 10)
+}
+
+func dozen() {
+	var val int
+	fmt.Scan(&val)
+	fmt.Println((val % 100) / 10)
+}
+
+func clock() {
+	var degrees, hours, minutes int
+	fmt.Scan(&degrees)
+	hours = degrees / 30
+	minutes = 2 * (degrees % 30)
+	fmt.Println("It is", hours, "hours", minutes, "minutes.")
+}
+
+func what_is_value() {
+	var val int
+	fmt.Scan(&val)
+	if val > 0 {
+		fmt.Println("Число положительное")
+	} else if val < 0 {
+		fmt.Println("Число отрицательное")
+	} else {
+		fmt.Println("Ноль")
+	}
+}
+
+func is_different() {
+	var val int
+	fmt.Scan(&val)
+	first := val / 100
+	second := val / 10 % 10
+	third := val % 10
+
+	if (first == second) || (first == third) || (second == third) {
+		fmt.Println("NO")
+	} else {
+		fmt.Println("YES")
+	}
+}
+
+// 9999
+func what_first() {
+	var val int
+	fmt.Scan(&val)
+	if val == 10000 {
+		fmt.Println(val / 10000)
+	} else if val > 999 {
+		fmt.Println(val / 1000)
+	} else if val > 99 {
+		fmt.Println(val / 100)
+	} else if val > 9 {
+		fmt.Println(val / 10)
+	} else {
+		fmt.Println(val % 10)
+	}
+}
+
+func is_happiness() {
+	var val int
+	fmt.Scan(&val)
+	d1 := val / 100000
+	val = val - d1*100000
+	d2 := val / 10000
+	val = val - d2*10000
+	d3 := val / 1000
+	val = val - d3*1000
+	d4 := val / 100
+	val = val - d4*100
+	d5 := val / 10
+	val = val - d5*10
+	d6 := val % 10
+
+	if (d1 + d2 + d3) == (d4 + d5 + d6) {
+		fmt.Println("YES")
+	} else {
+		fmt.Println("NO")
+	}
+}
+
+func is_leap() {
+	var val int
+	fmt.Scan(&val)
+	if (val%400 == 0) || (val%4 == 0) && (val%100 != 0) {
+		fmt.Println("YES")
+	} else {
+		fmt.Println("NO")
+	}
+}
+
+func foo1() {
+	var n, val, sum int
+	fmt.Scan(&n)
+	for i := 0; i < n; i++ {
+		fmt.Scan(&val)
+		if (val > 9) && (val < 100) && (val%8 == 0) {
+			sum += val
+		}
+	}
+	fmt.Println(sum)
+}
+
+func foo2() {
+	var val, max, num int
+	for {
+		fmt.Scan(&val)
+		if val == 0 {
+			break
+		}
+
+		if max != 0 {
+			if val == max {
+				num += 1
+			}
+		}
+
+		if val > max {
+			max = val
+			num = 0
+		}
+	}
+	fmt.Println(num + 1)
+}
+
+func foo3() {
+	var n, c, d int
+	fmt.Scan(&n)
+	fmt.Scan(&c)
+	fmt.Scan(&d)
+
+	for i := 1; i <= n; i++ {
+		if (i%c == 0) && (i%d != 0) {
+			fmt.Println(i)
+			break
+		}
+	}
+}
+
+func foo4() {
+	var val int
+	for {
+		fmt.Scan(&val)
+		if val < 10 {
+			continue
+		}
+		if val > 100 {
+			break
+		}
+		fmt.Println(val)
+	}
+}
+
+func foo5() {
+	var x, p, y, years int
+	fmt.Scan(&x)
+	fmt.Scan(&p)
+	fmt.Scan(&y)
+	for {
+		x += x * p / 100
+		years++
+		if x >= y {
+			break
+		}
+	}
+	fmt.Println(years)
+}
+
+func foo6() {
+	var val1, val2, val2_copy, d1, d2 int
+	dev1 := 10000
+	dev2 := 10000
+	fmt.Scan(&val1)
+	fmt.Scan(&val2)
+
+	for {
+		if dev1 != 1 {
+			d1 = val1 / dev1
+			val1 = val1 - d1*dev1
+		} else {
+			d1 = val1 % 10
+		}
+
+		// fmt.Println(d1)
+
+		dev2 = 10000
+		val2_copy = val2
+		for {
+			if dev2 != 1 {
+				d2 = val2_copy / dev2
+				val2_copy = val2_copy - d2*dev2
+			} else {
+				d2 = val2_copy % 10
+			}
+
+			if d1 == d2 {
+				fmt.Print(d1, " ")
+			}
+
+			if dev2 == 1 {
+				break
+			}
+			dev2 /= 10
+		}
+
+		if dev1 == 1 {
+			break
+		}
+
+		dev1 /= 10
+
+		/*
+			if d1 == 0 {
+				continue
+			}
+		*/
+
+	}
+}