[C语言】多种方法求2的n次方

这篇具有很好参考价值的文章主要介绍了[C语言】多种方法求2的n次方。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:循环法

不断地乘以2,循环i次

int main()
 {

    int a, i, c =1;
//注意要初始化为1而不是0
    scanf("%d", &i);
    for (a = 1; a <= i; a++)
    {
        c = c * 2;
    }
    printf("%d", c);
    return 0;
}

方法二:左移法

一个数它左移,左移一位的话就相当于是乘二,左移两位的话就相当于是乘四,左移三位的话就相当于是乘八,那就是相当于是。所以一位的话相当于是乘二的一次方,所以两位的话就是相当于乘二的二次方。

#include <stdio.h>

int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        printf("%d\n", 1 << n);
    }
    return 0;
}

方法三:递归法

2^n=2*2^(n-1)=2*2*2^(n-2)……以此类推文章来源地址https://www.toymoban.com/news/detail-716683.html

int pow(int n)
{
	if (n <= 0)
		return 1;
	else
	return 2 * pow(n-1 );

}
int main()
{
	int n = 1;
	scanf("%d",&n);
	int ret = pow(n);
	printf("%d", ret);
	return 0;
}

到了这里,关于[C语言】多种方法求2的n次方的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【c语言】—求最大公约数和最小公倍数多种方法

    目录 一.求最大公约数 1.枚举法求最大公约数 2.辗转相除法 二.求最小公倍数 1.枚举法求最小公倍数 2.简易法 3.公式法 思路:先求两个数中的最小值,最大公约数不可能大于两个数的最小数 比如6和18,最大公约数就是6 再如3和9,最大公约数就是3 然后再从1开始循环遍历到最小

    2024年02月08日
    浏览(61)
  • C语言 多种方法求最大公因数和最小公倍数

    最大公约数: 指能够整除多个整数的最大正整数,而多个整数不能都为零。 最小公倍数: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公因数 求最

    2024年02月05日
    浏览(36)
  • 单片机C语言实例:1、点亮LED的多种方法

    不管学习什么单片机,通常点灯是迈入编程的第一步,点灯虽然简单,但是玩出花样来,需要的知识点还是不少的,本文归纳了15种点灯方式,看看自己会几种,看看是否能帮到努力点灯的工程师们。 程序实例1: 程序实例2: 程序实例3: 程序实例4: 程序实例5: 程序实例

    2024年02月09日
    浏览(38)
  • 【基础算法】圆周率的多种方法求算 & C++实现

            一个圆如下面左图所示,其半径为1,其内部内接一个正六边形。设正六边形的边长为y1。由几何知识可得知y1=1,所以圆的周长可近似为正六边形的周长C=6×y1=6.所以圆周率为前面的近似圆周长与圆直径之比,即C/2= 3 ≈π ,这就是按照割圆法来得到圆周率近似值的方

    2024年02月05日
    浏览(55)
  • 单片机C语言实例:2、点亮数码管的多种方法

    一、共阳数码管静态显示 程序实例1: 二、1个共阳数码管显示变化的数字 程序实例2: 三、单个数码管模拟水流 程序实例3: 四、按键控制单个数码管显示 程序实例4: 五、单个数码管指示逻辑电平 程序实例5: 六、8位数码管显示其中之一 程序实例6: 七、8位数码管静态显

    2024年02月04日
    浏览(41)
  • 【C语言】逆序输出数字算法

      该算法可以将任意整数进行逆序重组。 比如1234,逆序后组成为4321。 原理:对低位数进行升位,对高位数进行降位,这样就可以实现对数字逆序重组。 例如 : 输入一个数1234,即i=1234 第一次:i=1234; j=0+1234%10=4         第二次:i=123; j=4*10+123%10=43 第三次i=12; j=43 *10+12%10=432      

    2024年02月11日
    浏览(34)
  • C语言之求任意次方的最后三位

    目录 一 简介 二代码实现 三 时空复杂度 在C语言中,求一个整数任意次方的最后三位数可以使用快速幂算法结合取模运算来实现。 该代码首先通过取模操作将输入的底数 x 限制在最后三位以内,然后利用快速幂算法(这里采用的是二进制分解优化)逐步计算出 x 的 y 次方对

    2024年03月24日
    浏览(40)
  • C语言简单程序——解二元一次方程

    这个任务我们可以用 if,else if 函数,我们还要调用函数库 #include math.h, 就可以完成 这个小程序。 运行后显示如下。    

    2024年02月06日
    浏览(56)
  • java语言输出当前日期时间的方法

    你是否是一个时间焦虑者?还在为起床工作而设置的七点半闹钟难受吗?早醒后闭上眼要时不时看一眼手机时间的不悦,我懂,我懂,我都懂。 那怎么通过编程输出实时的时间呢?         通过 Date包 和 格式化 来 输出当前的时间                注:需要导包!!!       

    2024年02月06日
    浏览(60)
  • 自然语言处理实战项目17-基于多种NLP模型的诈骗电话识别方法研究与应用实战

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目17-基于NLP模型的诈骗电话识别方法研究与应用,相信最近小伙伴都都看过《孤注一掷》这部写实的诈骗电影吧,电影主要围绕跨境网络诈骗展开,电影取材自上万起真实诈骗案例。随着科技的快速发展,诈骗电

    2024年02月09日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包