█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 5053

Problema 0x31 - Sumarle un dígito a número muy grande

  • Autor: cams2692
  • Fecha: 2021-10-08 14:58:34 UTC (Hace más de 2 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.004 s 6 KBi
#2
Correcto
0.003 s 4 KBi
#3
Correcto
0.008 s 5 KBi
#4
Correcto
0.004 s 6 KBi
#5
Correcto
0.005 s 4 KBi
#6
Correcto
0.004 s 3 KBi
#7
Correcto
0.003 s 3 KBi
#8
Correcto
0.005 s 4 KBi
#9
Correcto
0.004 s 3 KBi
#10
Correcto
0.004 s 5 KBi
#11
Correcto
0.005 s 4 KBi
#12
Correcto
0.006 s 5 KBi
#13
Correcto
0.006 s 4 KBi
#14
Correcto
0.003 s 3 KBi
#15
Correcto
0.005 s 8 KBi
#16
Correcto
0.004 s 4 KBi
#17
Correcto
0.004 s 4 KBi
#18
Correcto
0.004 s 4 KBi
#19
Correcto
0.003 s 4 KBi
#20
Correcto
0.005 s 5 KBi
#21
Correcto
0.006 s 4 KBi
#22
Correcto
0.004 s 5 KBi
#23
Correcto
0.004 s 3 KBi
#24
Correcto
0.004 s 5 KBi
#25
Correcto
0.005 s 5 KBi
#26
Correcto
0.003 s 3 KBi
#27
Correcto
0.005 s 5 KBi
#28
Correcto
0.004 s 7 KBi
#29
Correcto
0.004 s 3 KBi
#30
Correcto
0.004 s 6 KBi
#31
Correcto
0.005 s 5 KBi
#32
Correcto
0.004 s 4 KBi
#33
Correcto
0.003 s 3 KBi
#34
Correcto
0.004 s 3 KBi
#35
Correcto
0.004 s 4 KBi
#36
Correcto
0.007 s 4 KBi
#37
Correcto
0.006 s 5 KBi
#38
Correcto
0.005 s 5 KBi
#39
Correcto
0.004 s 4 KBi
#40
Correcto
0.004 s 4 KBi
#41
Correcto
0.008 s 4 KBi
#42
Correcto
0.004 s 4 KBi
Puntos totales: 100 / 100

Código

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	reader := bufio.NewReader(os.Stdin)

	number, _ := reader.ReadString('\n')
	number = strings.ReplaceAll(number, "\n", "")
	digitS, _ := reader.ReadString('\n')
	digitS = strings.ReplaceAll(digitS, "\n", "")
	digit, _ := strconv.ParseInt(digitS, 10, 64)
	out := []rune(number)
	sum := true
	index := len(number) - 1
	for sum && index >= 0 {
		numberIndex, _ := strconv.ParseInt(string(out[index]), 10, 64)
		numberIndex += digit
		digit = 1
		if numberIndex > 9 {
			number := fmt.Sprintf("%d", numberIndex)
			out[index] = []rune(number)[1]

			if index == 0 {
				out = append([]rune("1"), out...)
			}
			index--
		} else {
			out[index] = []rune(fmt.Sprintf("%d", numberIndex))[0]
			sum = false
		}
	}

	fmt.Println(string(out))
}