每周独立访客数量与前一周相比增长7%。
给出一个整数N表示本周末唯一身份访问者的数量和整数W
编写一个函数,打印到标准输出(stdout)W周后我们将拥有的唯一身份访问者数量
请将最终结果向下舍入到最接近的整数(例如,7.1和7.9都舍入为7)
n
:这是一个表示上述数字N的整数w
:表示上述数字W的整数n
的值不会超过10000 w
的值不会超过50 n = 10,w = 3
答案:12
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。
答案 0 :(得分:2)
你应该使用geometric series公式:u(n)= u(0)* q ^ n 在你的情况下,它的wcalc = n * 0.07 ^ w
在代码中(我们需要包含pow函数的数学标题):
#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);
}
答案 1 :(得分:1)
在计算过程中,您每周需要100名固定访问者,这是错误的。
正确的方法是:
1st week=100/100*7+100=107
2nd week=7/100*107+107=114
3rd week=7/100*114+114=122
4th week=(.07)*122+122=131
您将输出为131。