package main
import (
"fmt"
"strconv"
)
func main() {
var input string
for {
fmt.Println("")
fmt.Println("请输入2的几次幂:")
if _, err := fmt.Scanf("%s", &input); err != nil {
fmt.Printf("%s\n", err)
return
}
if input == "exit" {
fmt.Println("退出成功~")
return
} else {
ret := calculate( input )
fmt.Println("结果为:")
for i := len(ret)-1;i>=0 ;i-- {
fmt.Print(ret[i])
}
fmt.Println()
}
fmt.Println("输入【exit】程序退出~")
}
}
func calculate(input string) []int {
ret :=[]int{1}
power,_ := strconv.Atoi(input)
if power<=0{
return ret
}
carry :=0
for i:=0;i< power ;i++ {
for j:=0;j<len(ret);j++ {
tmp := (2 * ret[j]) + carry
if tmp>=10 {
ret[j] = tmp%10
carry = 1
}else{
ret[j] = tmp
carry = 0
}
}
if carry>0 {
ret = append(ret,carry)
carry=0
}
}
return ret
}
2的10000次方实现逻辑
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 题目要求 实现一个计算的函数。 函数接口定义: 函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。 ...
- 实验2-4-5 简单实现x的n次方 (10 分) 1. 题目摘自 https://pintia.cn/proble...