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

Envío 5052

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

  • Autor: cams2692
  • Fecha: 2021-10-08 14:55:39 UTC (Hace alrededor de 3 años)
Caso # Resultado Tiempo Memoria
#1
Incorrecto
0.006 s 4 KBi
#2
Correcto
0.004 s 5 KBi
#3
Incorrecto
0.005 s 5 KBi
#4
Correcto
0.004 s 5 KBi
#5
Correcto
0.004 s 3 KBi
#6
Correcto
0.004 s 4 KBi
#7
Correcto
0.007 s 8 KBi
#8
Correcto
0.004 s 5 KBi
#9
Correcto
0.004 s 5 KBi
#10
Correcto
0.003 s 4 KBi
#11
Incorrecto
0.004 s 3 KBi
#12
Correcto
0.004 s 3 KBi
#13
Incorrecto
0.005 s 7 KBi
#14
Incorrecto
0.005 s 10 KBi
#15
Incorrecto
0.004 s 9 KBi
#16
Incorrecto
0.004 s 3 KBi
#17
Incorrecto
0.004 s 5 KBi
#18
Incorrecto
0.003 s 5 KBi
#19
Incorrecto
0.004 s 5 KBi
#20
Incorrecto
0.005 s 5 KBi
#21
Correcto
0.004 s 6 KBi
#22
Correcto
0.004 s 5 KBi
#23
Correcto
0.006 s 5 KBi
#24
Correcto
0.004 s 3 KBi
#25
Correcto
0.005 s 6 KBi
#26
Incorrecto
0.004 s 6 KBi
#27
Correcto
0.004 s 3 KBi
#28
Correcto
0.004 s 5 KBi
#29
Incorrecto
0.004 s 4 KBi
#30
Incorrecto
0.004 s 5 KBi
#31
Correcto
0.003 s 4 KBi
#32
Correcto
0.004 s 4 KBi
#33
Incorrecto
0.006 s 4 KBi
#34
Correcto
0.004 s 4 KBi
#35
Incorrecto
0.005 s 5 KBi
#36
Correcto
0.005 s 4 KBi
#37
Incorrecto
0.004 s 5 KBi
#38
Incorrecto
0.004 s 4 KBi
#39
Incorrecto
0.005 s 4 KBi
#40
Incorrecto
0.005 s 5 KBi
#41
Incorrecto
0.005 s 5 KBi
#42
Incorrecto
0.004 s 5 KBi
Puntos totales: 48 / 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 {
			zero := "0"
			out[index] = []rune(zero)[0]

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

	fmt.Println(string(out))
}