Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,844 questions

51,765 answers

573 users

How to check if a number can be made prime by deleting a single digit in Go

1 Answer

0 votes
package main

import (
	"fmt"
	"math"
	"strconv"
)

func atoi(s string) int {
	result, _ := strconv.Atoi(s)

	return result
}

func removeTheNDigit(num, N int) int {
	numStr := strconv.Itoa(num)

	return atoi(numStr[:N] + numStr[N+1:])
}

func isPrime(n int) bool {
	if n < 2 || (n%2 == 0 && n != 2) {
		return false
	}

	count := int(math.Sqrt(float64(n)))
	for i := 3; i <= count; i += 2 {
		if n%i == 0 {
			return false
		}
	}

	return true
}

func main() {
	n := 78919
	totalDigits := len(strconv.Itoa(n))

	for i := 0; i < totalDigits; i++ {
		tmp := removeTheNDigit(n, i)
		if isPrime(tmp) {
			fmt.Println("yes number =", tmp)
			break
		}
	}
}


/*
run:

yes number = 7919

*/

 



answered Sep 28, 2024 by avibootz

Related questions

...