真正の签到题-----简单也有小问题

Problem Description
这是一个从天上掉下来的题面

天才科学家小标今天找到了一个史莱姆窝,小铁研究了好几天,发现史莱姆的史莱姆个数在不断的增长,而且史莱姆个数的增长情况有如下的规律
每一个史莱姆在第二天分裂成为a个崭新的史莱姆
现在小标知道了第一天的史莱姆正好也为a个,他想知道第n天的时候的史莱姆会有多少个,你能帮帮他吗?

Input
多组输入,每组两个整数a,n。分别代表史莱姆的初始个数和天数

Output
第n天的时候的史莱姆的个数

Sample Input
5 2
2 3
Sample Output
25
8

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int  a,n;
    while(scanf("%d %d",&a,&n)!=EOF)
    {
        double m=pow(a,n);
        printf("%d\n",(int)m);
    }

    return 0;
}

接下来是错误代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int  a,n,m;
    while(scanf("%d %d",&a,&n)!=EOF)
    {
         m=pow(a,n);
        printf("%d\n",m);
    }

    return 0;
}

这样写会导致5的平方等于24?为啥?因为pow的返回值是个小数,可能是24.99999999,如果你直接赋值给整型变量,会导致直接失去0.9999999;导致缺失一个数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奈何碎银没有几两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值