欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go开发之路 -- Go语言基本语法 - 作业

程序员文章站 2022-10-10 08:33:45
1. 判断101 - 200之间有多少个素数,并输出所有素数。 2. 打印出100-999中所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。 例如:153是一个“水仙花数”,因为153 = 1的三次方 + 5的三次方 + 3的三次方。 3. 对于一个数n,求n的阶 ......

1. 判断101 - 200之间有多少个素数,并输出所有素数。

package main

import (
	"fmt"
)

var count = 0
func prime(a, b int) {
	var x int
	for  x = a; x < b; x++ {
		for i := 2; i < x; i++ {
			if x % i != 0 {
				if x-1 == i {
					fmt.println(x)
					count += 1
				}
			}else {
				i = x
			}

		}
	}
}


func main() {
	prime(101, 200)
	fmt.printf("总共有%d个素数", count)
}

  

2. 打印出100-999中所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。

例如:153是一个“水仙花数”,因为153 = 1的三次方 + 5的三次方 + 3的三次方。

package main

import "fmt"

func main() {
	for a:=100; a <= 999; a++ {
		if (a/100)*(a/100)*(a/100) + ((a/10)%10)*((a/10)%10)*((a/10)%10) + (a%10)*(a%10)*(a%10) == a {
			fmt.println(a)
		}
	}
}

  

3. 对于一个数n,求n的阶乘之和。即:1! + 2! + 3! + ... + n!

package main

import "fmt"

func fac(a int) int {    // 求阶乘
	x := 1
	for i := 1; i <= a; i++ {
		x *= i
	}
	return x
}

func sum (n int) int {    // 求阶乘之和
	sum := 0
	for i := 1; i <= n; i++ {
		sum += fac(i)
	}
	return sum
}

func main() {
	fmt.println(sum(5))
}