Go语言 for循环案例

Go语言 for循环案例

  • 九九乘法表
  • 水仙花数(100到10000)
  • 求素数(优化版)

九九乘法表

package main

import "fmt"

func main() {
	for i:=1; i<=9;i++  {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",i,j,i*j)
		}
		fmt.Println()
	}
}

Go语言 for循环案例_第1张图片

水仙花数(100到10000)

package main

import (
	"fmt"
	"math"
)

func main() {
	//求100~10000之间的水仙花数
	for num := 100; num < 10000; num++ {
		number := num
		sum:=0
		var a int
		if (num<1000){
			a=3
		}else{
			a=4
		}
		for number > 0 {
			j := number % 10 //取出number的每一位
			sum=sum+int(math.Pow(float64(j),float64(a)))
			number/=10
		}
		if(sum==num){
			fmt.Printf("%d\t",num)
		}

	}
}

在这里插入图片描述

求素数(优化版)

package main

import (
	"fmt"
	"math"
)

func main() {
	count:=0
	var arr [101]int
	for i:=0;i<=100 ; i++ {
		arr[i]=i
		arr[1]=0 //1不是素数,将其挖掉
	}
	for i:=2;i<=int(math.Sqrt(100)) ;i++  {
		for j :=i+1; j<=100 ;j++  {
			if(arr[i]!=0 &&arr[j]!=0){
				if (arr[j]%arr[i]==0){
					arr[j]=0
				}
			}
		}
	}
	// 将非0的数组元素遍历,即为1-100之间全部的素数
	for i:=0;i<=100 ; i++ {
		if(arr[i]!=0){
			count+=1
			fmt.Printf("%d\t",arr[i])
		}
	}
	fmt.Println("\n1-100之间素数的个数是%d\n",count)
}

在这里插入图片描述

你可能感兴趣的:(Go语言,go)