1,一年365天,每天进步1%,累计进步多少呢? 1.01365 一年365天,每天退步1%,累计剩下多少呢? 0.99365 5%和1%的力量对比,数据写入文件中 工作日的力量 一年365天,一周5个工作日,每天进步1%一年365天,一周2个休息日,每天退步1%这种工作日的力量,如何呢? 工作日的努力 工作日模式要努力到什么水平,才能与每天努力1%一样 A君:一年365天,每天进步1%,不停歇 B君:一年365天,每周工作5日休息2日,休息日下降1%,工作日要多努力?才能和A 君一样? A君和B君10年工作的数据对比都写入文件 格式:A君10年x B君10年y 注:x,y是数据,比如,A君10年持续工作的力量是123451(比较原来的力量值1)
时间: 2024-03-25 11:36:25 浏览: 123
每天进步一点点
3星 · 编辑精心推荐
以下是C语言代码实现,用于计算工作日模式需要努力的水平才能与每天进步1%一样:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double daily_progress = 0.01; //每天进步1%
double daily_decline = 0.01; //每天退步1%
double workdays_progress = 0.01; //工作日进步1%
double restdays_decline = 0.01; //休息日下降1%
double workdays = 5.0; //一周5个工作日
double restdays = 2.0; //一周2个休息日
double workdays_effort = 0.0; //工作日努力水平
double total_progress_A = pow(1.01, 365); //A君一年的总进步
double total_progress_B = 1.0; //B君一年的总进步
double total_progress_A_10years = 1.0; //A君十年的总进步
double total_progress_B_10years = 1.0; //B君十年的总进步
double workdays_total_progress_A = 0.0; //A君一年工作日的总进步
double workdays_total_progress_B = 0.0; //B君一年工作日的总进步
double workdays_total_progress_A_10years = 0.0; //A君十年工作日的总进步
double workdays_total_progress_B_10years = 0.0; //B君十年工作日的总进步
int i, j;
//计算B君一年的总进步
for (i = 1; i <= 365; i++) {
if (i % 7 == 6 || i % 7 == 0) { //休息日
total_progress_B *= (1 - restdays_decline);
}
else { //工作日
total_progress_B *= (1 + workdays_progress);
}
}
//计算工作日努力水平
for (i = 1; i <= 10000; i++) {
workdays_total_progress_A = pow(1 + workdays_progress, 5 * 365);
workdays_total_progress_B = pow(1 + (i / 10000.0), 5 * 365) * pow(1 - restdays_decline, 2 * 365);
if (fabs(workdays_total_progress_A - total_progress_A) < fabs(workdays_total_progress_B - total_progress_A)) {
workdays_effort = i / 10000.0;
break;
}
}
//计算A君和B君十年的总进步
for (i = 1; i <= 10; i++) {
total_progress_A_10years *= pow(1.01, 365 * i);
total_progress_B_10years *= pow(1 + workdays_progress, 5 * 365) * pow(1 - restdays_decline, 2 * 365);
workdays_total_progress_A_10years += pow(1 + workdays_progress, 5 * 365 * i);
workdays_total_progress_B_10years += pow(1 + workdays_effort, 5 * 365) * pow(1 - restdays_decline, 2 * 365 * i);
}
//将A君和B君十年的总进步写入文件
FILE* fp = fopen("progress.txt", "w");
fprintf(fp, "A君10年%.0lf B君10年%.0lf\n", total_progress_A_10years, total_progress_B_10years);
fclose(fp);
//将A君和B君十年工作日的总进步写入文件
fp = fopen("workdays_progress.txt", "w");
fprintf(fp, "A君10年%.0lf B君10年%.0lf\n", workdays_total_progress_A_10years, workdays_total_progress_B_10years);
fclose(fp);
return 0;
}
```
注:以上代码仅为示例,可能存在一些问题,如计算精度问题等。
阅读全文