golang经典编程题30题(带答案)golang基础算法30题

您所在的位置:网站首页 golang编码 golang经典编程题30题(带答案)golang基础算法30题

golang经典编程题30题(带答案)golang基础算法30题

2023-10-27 09:13| 来源: 网络整理| 查看: 265

1.打印出九九乘法表并统计耗时

package main import ( "fmt" "time" ) func main() { start := time.Now() var i, j int for i = 1; i fmt.Printf("%d*%d=%d\t", i, j, i*j) } fmt.Println() } tc := time.Since(start) fmt.Printf("耗时是%v", tc) }

2.求两个数的求最大公约数和最小公倍数。

package main import "fmt" func getMaximumCommonDivisor(a, b int) int { //获取最大公约数 for a != b { if a > b { a = a - b } else if a var a, b = 24, 10 num := getMaximumCommonDivisor(a, b) fmt.Println("a,b的最大公约数是:", num) //求最小公倍数相对来说就比较简单了。只需要先求出最大公约数。用两个数的乘积除以最大公约数即可 fmt.Println("a,b的最小公倍数是:", a*b/num) } //结果: //a,b的最大公约数是: 2 //a,b的最小公倍数是: 120

3.回文数的判断 回文数的概念:即是给定一个数,这个数顺读和逆读都是一样的。例如:121,1221是回文数,123,1231不是回文数。

package main import ( "fmt" ) func isHuiwen(a string) bool { var i, j int var b bool for i = 0; i b = false } b = true j-- } return b } func main() { a := "1002332001" isHuiwen(a) fmt.Println(isHuiwen(a)) }

4.求水仙花数 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

package main import ( "fmt" ) func isNarcissisticNum(num int) bool { a := num / 100 //分离出百位a b := (num / 10) % 10 //分离处十位b c := num % 10 //分离出个位c result := a*a*a + b*b*b + c*c*c if num == result { return true } return false } func main() { for i := 100; i fmt.Println("水仙花数有:", i) } } } //结果: //水仙花数有: 153 //水仙花数有: 370 //水仙花数有: 371 //水仙花数有: 407

5.求1-10000之间的同构数 正整数n若是它平方数的尾部,则称n为同构数。 例如:5的平方数是25,且5出现在25的右侧,那么5就是一个同构数。

package main import "fmt" func main() { var i, j, k int k = 10 for i = 1; i k *= 10 } j = i * i if j%k == i { fmt.Printf("%d是同构数, %d的平方是%d\n", i, i, j) } } } //结果: //1是同构数, 1的平方是1 //5是同构数, 5的平方是25 //6是同构数, 6的平方是36 //25是同构数, 25的平方是625 //76是同构数, 76的平方是5776 //376是同构数, 376的平方是141376 //625是同构数, 625的平方是390625 //9376是同构数, 9376的平方是87909376

6.编写一个函数,求100以内的质数 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数

package main import ( "fmt" "math" ) func isPrime(i int) bool { for j := 2; float64(j) return false } } return true } func main() { var str []int//存放质数 j := 0 for i := 2; i str = append(str, i) j++ } } fmt.Println(str) } //结果 //[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97]

7.分析以下需求,并用代码实现: (1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入 (2)涨工资的条件如下: [10-15) +5000 [5-10) +2500 [3~5) +1000 [1~3) +500 [0~1) +200 (3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

package main import "fmt" func main() { var n, salary, sum, a int var err error fmt.Println("请输入您的工龄") _, err = fmt.Scanln(&n) if err != nil { fmt.Println(err) } fmt.Println("请输入您的基本工资") _, err = fmt.Scanln(&salary) if err != nil { fmt.Println(err) } if n >= 0 && n a = 500 } else if n >= 3 && n a = 2500 } else if n >= 10 && n


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3