【Go语言入门150题】L1-012 计算指数 (5 分) Go语言|Golang

举报
小生凡一 发表于 2021/10/15 22:20:19 2021/10/15
【摘要】 【题解】【PTA团体程序设计天梯赛】 L1-012 计算指数 (5 分) Go语言|Golang 真的没骗你,这道才是简单题 —— 对任意给定的不超过 10的正整数n,要求你输出 2的n次方 。不难吧...

【题解】【PTA团体程序设计天梯赛】

L1-012 计算指数 (5 分) Go语言|Golang

真的没骗你,这道才是简单题 —— 对任意给定的不超过 10的正整数n,要求你输出 2的n次方 。不难吧?

输入格式:

输入在一行中给出一个不超过 10 的正整数 n。

输出格式:

在一行中按照格式 2^n = 计算结果 输出 2 的n次方 的值。

输入样例:

5

  
 

结尾无空行

输出样例:

2^5 = 32

  
 

结尾无空行

思路:

基础的循环+判断语句,其实可以写的简单一点的,我只是把他封装的更加广泛而已。

代码如下:

package main

import "fmt"

func main() {
	var num int
	_,_= fmt.Scan(&num)
	fmt.Printf("2^%d = %d",num,powerf(2, num))
}

func powerf(x int, n int) int {
	ans := 1
	for n != 0 {
		if n%2 == 1 {
			ans *= x
		}
		x *= x   // 这里是直接双倍的 , 可以打印出x和n的值,自己看看
		n /= 2  // 因为是双倍的,所以只需要进行幂次的一半次数就行了。
	}
	return ans
}

  
 

文章来源: blog.csdn.net,作者:小生凡一,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_45304503/article/details/119800653

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。