中易网

为什么编译没问题,提交就错了呢?杭电ACM2018

答案:3  悬赏:10  
解决时间 2021-02-18 10:00
#include
void main()
{
int n,i,j;
int s;
while(scanf("%d",&n)==1 && (n>=0 || n<55))
{
if(n==0)
break;
if(n<=3)
s=n;
else
s=(n-2)*(n-3)/2+3;

printf("%d\n",s);
}

}
最佳答案
你的算法有问题,这不是直接和输入值有关的问题,而是和前一个及前第三个值有关的递推题,可以用数组保存数据,根据输入直接输出数组中的数据,这样效率高。

AC代码, 你可以测试下输入靠后面的数据看看结果是否和下面代码得到的结果相同
=============================================
#include
int main(void)
{
long a[55] = {1, 2, 3, 4}, i = 0, m = 0;
for (i=4; i<55; i++)
a[i] = a[i-1] + a[i-3];
while (scanf("%ld", &m)!=EOF, m)
{
printf("%ld\n", a[m-1]);
}

return 0;
}

=============================================
全部回答

if(fabs(a[j])<fabs(a[k])) 改为

if(fabs(double(a[j]))<fabs(double(a[k])))

具体看fabs函数

修改后就能ac了(已测试)

请考虑题目对运行时间,运行效率,内存使用状况的要求
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
迁隆村我想知道这个在什么地方
伊恋地址在什么地方,想过去办事
我在淘宝上购了物品 但卖家货发后发现快递无
什么是过渡性账户,过渡性账户有哪些
驾驶证增价a2实习期间能驾驶国道吗?自己
我天天锻炼身体怎么没有强壮的肌肉,还是那么
一个人用一根长1 m,只能承受46 N拉力的绳子,
沂水春风吹四野什么意思
亚新美好新苑在哪里啊,我有事要去这个地方
厦门有什么比较好的设计院吗?我是本科生,土
如果卡上贴的有东西,自动取款机管用吗?
属马的阴历l990年6月23日出生阳历是那一天
开心·爱之桥(相亲)服务中心这个地址在什么地
今天广州7点30分飞上海浦东国际机场在几号航
为什么每天慢跑50分钟加不吃晚饭,坚持一个月
推荐资讯
周公解梦梦见天上有各种动物在飞,还有一批掉
重庆大学播音专业艺考
鸟窝鸟巢没有盖子没有顶棚 鸟类怎么避雨怎么
人在吊篮中拉动滑轮组,绕过定滑轮的自由端承
rhino中以公差重新逼近曲面是什么意思
我把邮政卡了的钱转到余额宝里了,怎么把它转
回到三国结局很虐心啊!最近的TVB怎么都是这
停车场(谈公社区解放三村西)地址好找么,我有
360软件小助手怎么还原导入桌面图标?
润士通润滑油换油养护中心麦积区总代理在什么
什么花最能代表鲁迅的品质?
辽宁凤凰装饰工程有限公司地址有知道的么?有
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?