返回

骑士得到金币问题

发布时间:2023-04-21 12:06:43 452

问题国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N + 1天里,每天收到N + 1枚金币。

请计算在前K天里,骑士一共获得了多少金币。

输入描述:

输入只有1行,包含一个正整数K,表示发放金币的天数。

输出描述:

输出只有1行,包含一个正整数,即骑士收到的金币数。

理解这道题举个例子就是加入是要发四天的金币那么第一天发一个金币然后第二天了金币数增加为了2然后我们要运用一个变量代表这个发2个金币的天数当天数也为2时金币数增加为三同时我们的这个变量又要归为0重新到三后金币数再次增加以此继续。

#include
int main()
{
int money=0;
int d = 0;
int a = 0;
int i = 0;
scanf("%d", &d);
for (i = 0;; i++)
{
for (int j = 1; j <= i; j++)
{
money += i;
a++;
if (a == d)
break;//这里的break只能跳出内循环
}//这里假设一下比较好理解若d为4那么i开始循环才开始i为1内循环执行一次让money(以下简称m)变为了1a(代表的是现在是第几天)变为了1然后if判断不符合继续循环i为2了内循环就会执行两次a变为了3也代表了第2,3天加了2枚金币以此类推
if (a == d)//这里的break跳出外循环否则会一直循环造成死循环
break;
}
printf("%d", money);
return 0;
}

运行截图

骑士得到金币问题_#include

希望能对看到的人有所帮助我还只是一名刚刚接触c的萌新若有错误恳请各位大佬指正

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
daily study 10 2023-04-21 09:03:22