搜索
查看: 479|回复: 8

金币问题,希望大家都可以看看!

[复制链接]
 楼主| 发表于 2018-10-26 20:53:10 | 显示全部楼层 |阅读模式
5啊哈币
题目:
国王决定奖赏一个骑士。国王准备第一天给1个金币,第2、3天给2个金币,第3、4、5天给3个金币。。。。。。即,在第m天后,骑士会持续m+1天(天数不会大于输入)获得m+1个金币。(举例:给5天,1+2+2+3+3;给10天,1+2+2+3+3+3+4+4+4+4)
PS:如果题目不懂,请回复,我会仔细解释。
我输入一个天数d,怎么输出错误呢?
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int sum=0,d,a[10000],i,j,k=1;
    scanf("%d",&d);
    for(i=1;i<=d;i++)
                a[i]=0;
    while(k<=d)
    {
        for(j=k;j<=(2*k)-1;j++)
        {
                        a[j]=k;
        }
        k++;
    }
    for(i=1;i<=d;i++)
                sum+=a[i];
    printf("%d",sum);
        system("pause");
        return 0;
}

当我输入10时,应该显示30,可它却输出55,求解!

发表于 2018-10-27 09:28:46 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.         int money=1,sum=0,day,now=1;
  6.     scanf("%d",&day);
  7.     while(now<=day)
  8.     {
  9.                 sum+=money;
  10.         if(money*money+money==now*2)
  11.                         money++;
  12.         now++;
  13.     }
  14.     printf("%d",sum);
  15.         system("pause");
  16.         return 0;
  17. }
复制代码
这个没毛病
发表于 2018-10-27 10:42:40 | 显示全部楼层
你可以在各种位置加一点打印,看看是哪一步错了,这种题可以尽量少问的
发表于 2018-10-27 10:47:48 | 显示全部楼层
我看出来了。你这个程序并不是循环到多少天就停止了,而是你给了5天,就有5个整体(1 22 333 4444 55555),改一下判断条件吧

点评

就像你输的是10,他给你的答案是1加到10而不是到第十天为止  发表于 2018-10-27 10:49
发表于 2018-10-27 21:44:28 | 显示全部楼层
#include <iostream>using namespace std;int main(){int n,s=0,a=1,m=1,i;cin>>n;for(i=1;i<=n;i++){s+=a;m--;if(m==0){a++;m=a;}}cout<<s<<endl;return 0;}c++语言,c语言不可用.
发表于 2018-10-29 20:49:38 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int money=1,sum=0,day,now=1;
    scanf("%d",&day);
    while(now<=day)
    {
                sum+=money;
        if(money*money+money==now*2)
                        money++;
        now++;
    }
    printf("%d",sum);
        system("pause");
        return 0;
}

点评

抄我的代码!!  发表于 2018-11-3 12:45
发表于 2018-12-16 09:15:42 | 显示全部楼层
for(j=k;j<=(2*k)-1;j++)这句中的-1应该要改为+1吧......(不太确定)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表