zoukankan      html  css  js  c++  java
  • go练习题

    第一题:数字1、2、3、4四个数字组成互不重复的三位数(比如123是正确的,但是121就是错误的,因为1数字重复了)

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	total := 0
    	for i := 1;i < 5;i++{
    		for j := 1;j<5;j++{
    			for k :=1;k<5;k++{
    				if i != j && i !=k && j != k{
    					total++
    					fmt.Printf("第%d方案: %d%d%d
    ",total,i,j,k)
    				}
    			}
    		}
    	}
    	
    }
    

    效果如下所示:

    PS D:go> .a.exe      
    第1方案: 123
    第2方案: 124
    第3方案: 132
    第4方案: 134
    第5方案: 142
    第6方案: 143
    第7方案: 213
    第8方案: 214
    第9方案: 231
    第10方案: 234
    第11方案: 241
    第12方案: 243
    第13方案: 312
    第14方案: 314
    第15方案: 321
    第16方案: 324
    第17方案: 341
    第18方案: 342
    第19方案: 412
    第20方案: 413
    第21方案: 421
    第22方案: 423
    第23方案: 431
    第24方案: 432
    

    第二题:
    一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?

    package main
    
    import (
    	"fmt"
    	"math"
    )
    
    func main() {
    	var i int;
    	for i = 0;i< 100;i++{
                    // 使用go语言的math.Sqrt函数开平方
    		x := int(math.Sqrt(float64(i+100)))
    		y := int(math.Sqrt(float64(i+268)))
    		if x*x== i+100 && y*y == i+268{
    			fmt.Println(i)
    		}
    	}
    	
    }
    

    效果如下所示:

    PS D:go> .a.exe      
    21
    

    第三题,统计字符串的字符个数

    var name = "chenchaofeng"
    var vmap = make(map[string]int)
    for _,k := range name{
    	x := fmt.Sprintf("%c",k)
    	vmap[x]++
    }
    

    第四题,分金币练习题

    
    package main
      
    import (
    	"fmt"
    )
    
    var money = 50
    
    func main(){
    	f,fa := dispatchCoin(50)
    	f("Aegustis")
    	f("MEttIew")
    	fmt.Println("当前还剩余金币数量:",fa())
    
    }
    
    func dispatchCoin(money int)(func(string),func()int){
    	
    	f1 := func(name string){
    		var s = 0
    		for _,k := range name{
    			var b = 1
    			switch k {
    				case 'e','E':
    					s += b * 1
    					fallthrough
    				case 'i','I':
    					s += b * 2
    				}
    		}
    
    		fmt.Printf("当前 %s  账户有 %d 金币
    ",name,s)
    		money -= s
    	}
    	f2 := func()int{
    		return money
    	}
    	return f1,f2
    }
    
  • 相关阅读:
    程序员修炼之道阅读笔记2
    程序员修炼之道阅读笔记1
    软件体系架构的质量属性
    计算贴现率相关问题
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    第十四周总结
    软件需求模式阅读笔记
    第十三周总结
    第十二周总结
    重大技术需求进度报告六
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/15093123.html
Copyright © 2011-2022 走看看