当前位置: 首页 > article >正文

团体程序设计天梯赛-练习集——L1-012 计算指数

前言

这道题简单至极,几行代码就全都解决了。这次多来几个写法;

L1-012 计算指数

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

输入格式:

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

输出格式:

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

输入样例:

5

输出样例:

2^5 = 32

好了,以上就是全部的题目,现在我们来看看解法,题目比较简单,直接上代码了

代码1

这个解法是用了一个for循环,这样直接看是n的几次方,循环乘2几次就好了

#include <stdio.h>

int main()
{
    int n,s = 1,i;//n是次方值,s是计算出的值,i是循环次数
    scanf("%d",&n);
    for(i = 0; i < n;i++)
    {
        s *=2; //循环乘2计算结果
    }
    printf("2^%d = %d",n,s);//输出结果
}

代码2

这是一个屎山写法,写的比较长,运算的部分自己做完了就,直接输出结果通过一个switch语句,分别输出2的0到10次方的值,因为这个计算量比较小,可以用switch,如果是上百个的话,那就不要用了

#include <stdio.h>

int main()
{
    int n;
    scanf("%d",&n);
    switch(n)//通过switch判断输入的值,直接输出
    {
        case 0:printf("2^0 = 1");break;
        case 1:printf("2^1 = 2");break;
        case 2:printf("2^2 = 4");break;
        case 3:printf("2^3 = 8");break;
        case 4:printf("2^4 = 16");break;
        case 5:printf("2^5 = 32");break;
        case 6:printf("2^6 = 64");break;
        case 7:printf("2^7 = 128");break;
        case 8:printf("2^8 = 256");break;
        case 9:printf("2^9 = 512");break;
        case 10:printf("2^10 = 1024");break;
    }
}

代码3

这应该是代码量最少的一种写法,通过一个pow函数,这个函数是计算次方的函数,里面的第一个变量是计算的底数,第二个变量是幂,这样直接调用函数就好了,其实感觉这个函数和第一种方式大差不差,有种脱裤子放屁的感觉

#include <stdio.h>
#include <math.h>

int main()
{
    int n,s;
    scanf("%d",&n);
    s = pow(2,n);//调用pow函数,计算结果
    printf("2^%d = %d",n,s);
}

以上所有代码均为自己编写,本人水平有限,如果有哪里出错或者有更好的解法可以与我私信或在评论区里进行讨论

上一题:团体程序设计天梯赛-练习集——L1-011 A-B

下一题:团体程序设计天梯赛-练习集——L1-013 计算阶乘和


http://www.kler.cn/a/510490.html

相关文章:

  • 流量分析复现(第十八届信息安全大赛 第二届长城杯 )
  • [JavaScript] 深入理解流程控制结构
  • 【Idea】编译Spring源码 read timeout 问题
  • 第17章:Python TDD回顾与总结货币类开发
  • protobuf: 通讯录3.1
  • OpenAI函数调用迎来重大升级:引入「最小惊讶原则」等软件工程实践,开发体验更上一层楼!
  • Netty中的NioEventloop(1)
  • vue基础代码第一篇
  • 分类问题(二元,多元逻辑回归,费歇尔判别分析)spss实操
  • [手机Linux] ubuntu 错误解决
  • lanqiaoOJ 2128:重新排序 ← 一维差分
  • 【优先算法】滑动窗口--结合例题详解学习
  • Node.js --- 模板引擎EJS
  • 使用rpc绕过咸鱼sign校验
  • 如何让a和b的地址互换?
  • ros2-7.5 做一个自动巡检机器人
  • 【Spring MVC】第二站-Spring MVC请求
  • 快速上手 Spring Boot:基础使用详解
  • 生物识别技术是否可以成为应对安全挑战的最佳选择?
  • 嵌入式硬件篇---PID控制
  • 【部署】将项目部署到云服务器
  • 阿九的python 爬虫进阶课18.3 学习笔记
  • 条件决策树(Conditional Decision Trees)算法详解
  • 基于JavaWeb的宠物救助及领养平台的设计与实现
  • Safari常用快捷键
  • 1166 Summit (25)