| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- package main
- import (
- "bufio"
- "fmt"
- "os"
- "strings"
- "time"
- )
- func main() {
- // foo1()
- // foo2()
- // foo3()
- // foo4()
- // foo5()
- // foo6()
- // foo7()
- // foo8()
- // foo9()
- // foo10()
- foo12()
- }
- func foo1() {
- var val rune
- fmt.Scanf("%c", &val)
- // fmt.Println(string(val))
- if val >= '0' && val <= '9' {
- fmt.Println("YES")
- } else {
- fmt.Println("NO")
- }
- }
- func foo2() {
- var val rune
- fmt.Scanf("%c", &val)
- for letter := 'a'; letter <= val; letter++ {
- fmt.Print(string(letter), " ")
- }
- }
- func foo3() {
- var val rune
- fmt.Scanf("%c", &val)
- for letter := val; letter <= 'z'; letter++ {
- fmt.Print(string(letter), " ")
- }
- }
- func foo4() {
- var val rune
- fmt.Scanf("%c", &val)
- if val >= 'A' && val <= 'Z' {
- fmt.Print(string(val + 32))
- } else if val >= 'a' && val <= 'z' {
- fmt.Print(string(val - 32))
- }
- }
- func foo5() {
- var name string
- var price float64
- var amount int
- fmt.Scan(&name, &price, &amount)
- fmt.Printf("Стоимость %s: %g * %d = %g руб.", name, price, amount, price*float64(amount))
- }
- func foo6() {
- scanner := bufio.NewScanner(os.Stdin)
- scanner.Scan()
- str := scanner.Text()
- fmt.Println(strings.Count(str, " ") + 1)
- }
- // -----------------------------------------------------
- func foo7() {
- var str string
- fmt.Scan(&str)
- s := []rune(str)
- for i := len(s) - 1; i >= 0; i-- {
- fmt.Print(string(s[i]))
- }
- }
- // Функция с использованием defer
- func reverseWithDefer(s string) {
- for _, val := range s {
- defer func(v rune) {
- _ = string(v) // вместо вывода
- }(val)
- }
- }
- // Функция проход с конца
- func reverseWithAccumulation(s string) {
- for i := len(s) - 1; i >= 0; i-- {
- _ = string(s[i]) // вместо вывода
- }
- }
- func testSpeed(s string) {
- start := time.Now()
- reverseWithDefer(s)
- durationDefer := time.Since(start)
- fmt.Println(durationDefer)
- }
- // -----------------------------------------------------
- func foo8() {
- /*
- var position int
- scanner := bufio.NewScanner(os.Stdin)
- scanner.Scan()
- str := scanner.Text()
- fmt.Scan(&position)
- strRune := []rune(str)
- for i := 0; i < len(strRune); i++ {
- if i != position-1 {
- fmt.Print(string(strRune[i]))
- }
- }
- */
- var str string
- var position int
- fmt.Scan(&str, &position)
- strRune := []rune(str)
- for i := 0; i < len(strRune); i++ {
- if i != position-1 {
- fmt.Print(string(strRune[i]))
- }
- }
- }
- func foo9() {
- /*
- scanner := bufio.NewScanner(os.Stdin)
- scanner.Scan()
- str := scanner.Text()
- strRune := []rune(str)
- res := "-1"
- for i := 0; i < len(strRune); i++ {
- if strRune[i] == 'x' {
- res = "x"
- break
- }
- if strRune[i] == 'w' {
- res = "w"
- break
- }
- }
- fmt.Println(res)
- */
- var str string
- fmt.Scan(&str)
- for _, element := range str {
- if string(element) == "x" || string(element) == "w" {
- fmt.Println(string(element))
- return
- }
- }
- fmt.Print(-1)
- }
- // Функция палиндром
- func foo10() {
- var s, rs string
- fmt.Scan(&s)
- for i := 0; i < len(s); i++ {
- rs = string(s[i]) + rs
- }
- if rs == s {
- fmt.Println("YES")
- } else {
- fmt.Println("NO")
- }
- }
- // Еще один вариант палиндрома
- func foo11() {
- scanner := bufio.NewScanner(os.Stdin)
- scanner.Scan()
- s := scanner.Text()
- for i := 0; i < len(s)/2; i++ {
- if s[i] != s[len(s)-1-i] {
- break
- }
- }
- }
- // Поиск повторяющейся буквы
- func foo12() {
- var s string
- fmt.Scan(&s)
- for i := 0; i < len(s); i++ {
- simbol := s[i]
- for j := i + 1; j < len(s); j++ {
- if simbol == s[j] {
- fmt.Println(string(simbol))
- break
- }
- }
- }
- }
|