gpt4 book ai didi

c - 我没有得到预期的输出

转载 作者:行者123 更新时间:2023-11-30 20:51:51 32 4
gpt4 key购买 nike

与前一周相比,每周的独立访问者数量都会增长 7%。

给出一个表示本周末唯一访问者数量的整数 N 和一个整数 W

您的任务是:

编写一个函数,将 W 周后我们将拥有的唯一访问者数量打印到标准输出 (stdout)

请将最终结果向下舍入为最接近的整数(例如 7.1 和 7.9 均舍入为 7)

请注意,您的函数将接收以下参数:

  • n : 是一个整数,代表上面描述的数字N
  • w : 是一个整数,代表上面描述的数字W

数据限制:

  • n 的值不会超过10000
  • w 的值不会超过50

示例输入和输出:

  1. n=10,w=3

    答案:12

  2. n=40,w=1

    答案:42

我尝试过的方法如下:

#include "stdio.h"
#include"math.h"

void compute_prediction(int n, int w)
{
//Percentage Calculation
if(n<100001 && w<51)
{
double percent= 0.07*n;
// After 'W' weeks
double wcalc=(percent*w);
printf("%d",((int)floor(wcalc))+n);
}
}

给定输入:n=100,w=4,我的输出是:128。但正确的输出是 131。

最佳答案

您应该使用geometric series公式:u(n) = u(0) * q^n在你的例子中,它是 wcalc = n * 0.07^w

在代码中(我们需要包含 pow 函数的数学 header ):

#include <math.h>

void compute_prediction(int n, int w) {
if(n > 100000 || w > 50)
return;
double wcalc = n * pow(1.07, w);
// No need to use floor, a cast is enough
printf("%ld", (long)wcalc);
}

关于c - 我没有得到预期的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24486950/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com