.样例过了为啥只有五十??

P1255 数楼梯

女神苏小糖。 @ 2019-07-09 09:13:13

include<stdio.h>

long long a[5050]; long long f(int n){ int t; if(a[n]!=0) return a[n]; if(n<=2){ return n; }else{ return f(n-1)+f(n-2);

}

} int main(){ int a,n; scanf("%d",&n); a=f(n); printf("%d",a); return 0; }


by zrzluck99 @ 2019-07-09 09:19:28

希望更丰富的展现?使用Markdown


by XeCtera @ 2019-07-09 09:19:38

高精


by 1saunoya @ 2019-07-09 09:31:14

为啥用高精我觉得int128不错/xyx


by Lstdo @ 2019-07-09 09:37:12

原来你的逻辑是样例过了就是A了啊。。。自己看看输出类型。。。再不懂就别做了吧 = =+


by _Felix @ 2019-07-09 09:41:28

printf("%d",a);

to

printf("%lld",a);

上面的巨佬tql


by 蒟蒻甜心面包 @ 2019-07-09 09:57:29

问题一:long long 的函数输出时又用a转换成了int 型;

问题二:精度不够,例如输入5000,输出就会爆炸,建议先学习 [模板]高精度加法;

问题三:以后提问时发代码不要圧行,看着有点难受,容易看漏看错,不利于发现问题;

以上就是我愚笨肤浅的蒟蒻看法;


by Azazеl @ 2019-07-09 11:11:46

针对这道题,python是个不错的选择


by 女神苏小糖。 @ 2019-07-09 14:59:09

@princess欣_清凌 谢谢


by 天有不测风云 @ 2019-07-30 14:39:49

请不要用Markdown语法来强调你头文件的重要性!


by Eororr @ 2020-04-24 10:30:15

需高精


|