我的acm pku 2000为什么wrong answer 啊?
http://acm.pku.edu.cn/JudgeOnline/problem?id=2000题目大意为国王在第1天给骑士1金币,第2,3天每天2金币,第4,5,6天...
http://acm.pku.edu.cn/JudgeOnline/problem?id=2000
题目大意为国王在第1天给骑士1金币,第2,3天每天2金币,第4,5,6天每天3金币......
输入第几天,输出一共多少金币,输入以0结尾
例:Sample Input
10
6
7
11
15
16
100
10000
1000
21
22
0
Sample Output
10 30
6 14
7 18
11 35
15 55
16 61
100 945
10000 942820
1000 29820
21 91
22 98
#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
int main()
{
int a[20],i=0,n;
long b[20];
do
{
cin>>a[i];
n=(float)floor(sqrt((float)(2*a[i])));
if(n*(n+1)>2*a[i])n--;
b[i]=n*(n+1)*(2*n+1)/6+(n+1)*(a[i]-n*(n+1)/2);
i++;
}
while(a[i-1]);
for(int j=0;j<=i-2;j++)cout<<a[j]<<' '<<b[j]<<'\n';
}
各位帮帮忙啊,为什么wrong answer 啊? 展开
题目大意为国王在第1天给骑士1金币,第2,3天每天2金币,第4,5,6天每天3金币......
输入第几天,输出一共多少金币,输入以0结尾
例:Sample Input
10
6
7
11
15
16
100
10000
1000
21
22
0
Sample Output
10 30
6 14
7 18
11 35
15 55
16 61
100 945
10000 942820
1000 29820
21 91
22 98
#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
int main()
{
int a[20],i=0,n;
long b[20];
do
{
cin>>a[i];
n=(float)floor(sqrt((float)(2*a[i])));
if(n*(n+1)>2*a[i])n--;
b[i]=n*(n+1)*(2*n+1)/6+(n+1)*(a[i]-n*(n+1)/2);
i++;
}
while(a[i-1]);
for(int j=0;j<=i-2;j++)cout<<a[j]<<' '<<b[j]<<'\n';
}
各位帮帮忙啊,为什么wrong answer 啊? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询