Go语言100例

Go语言100例练习题

在学习Python的时候,做过菜鸟教程的100例练习题,但是Golang的练习题较少,不过可以参考Go语言圣经,里面有一些练习题,决定把菜鸟教程Python100例用Go语言再刷一遍,巩固一下自己的知识~
菜鸟教程Python100例:https://www.runoob.com/python/python-100-examples.html

1. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

package main

import "fmt"

//题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

func main()  {
	for i:=1;i<=4;i++{
		for j:=1;j<=4;j++{
			for k:=1;k<=4;k++{
				if (i!=j) && (i!=k) && (j!=k){
					fmt.Print(i)
					fmt.Print(j)
					fmt.Print(k)
					fmt.Println()
					// 如果写成fmt.Print(i,j,k) 则输出1 2 3
				}
			}
		}
	}
}

在这里插入图片描述

2. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

package main

import "fmt"

func main()  {
	// 这里为了省事,全部定义成float32类型
	var i float32
	fmt.Print("请输入企业净利润:")
	fmt.Scanln(&i)

	arr := []float32{1000000,600000,400000,200000,100000,0}
	rat := []float32{0.01,0.015,0.03,0.05,0.075,0.1}

	r := float32(0)
	for idx:=0;idx<len(arr);idx++{
		if i>arr[idx]{
			r = r + (i-arr[idx])*rat[idx]  // 计算奖金部分
		}
	}
	fmt.Printf("发放的奖金总额为:%.2f",i+r)
}

在这里插入图片描述

3.一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
注意:原来菜鸟教程上的题目有问题,应该是268不是168

package main

import (
	"fmt"
	"math"
)

func main() {
	i := 0
	for i<100000{
		x := int(math.Sqrt(float64(i+ 100)))
		y := int(math.Sqrt(float64(i+ 268)))

		if x*x == i+100 && y*y == i+268 {
			fmt.Printf("这个数字是 %d\n", i)
		}
		i++
	}
}

在这里插入图片描述

待更新…


版权声明:本文为stephen_curry300原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。