NOIP 2015 普及组 复赛 coin 金币
1.数据规律还是比较简单1^1+2^2+3^2+4^2+5^2
2.设置一个自减的循环,一次减1,2,3,特别注意最后边界的处理,即可。
3.有一个顾虑,用int 还是long long即数据是否会越界。先用int,之后测试。
4.经测试,整数不越界。用int即可。
5.程序难点在于边界出列,一不小心,容易犯错,要在边界进行测试,跟踪。
6.提交,40分,一查,才发现跟踪代码未删除,真是很遗憾。
7.提交程序前,多进行测试,很是必要。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h> int main(){ int k; int ans; int i; scanf("%d",&k); //初始化 i=1; ans=0; while(k>0){ k=k-i; ans+=i*i; i++; } if(k==0) printf("%d\n",ans); else{//边界处理 i--;//回退数据 ans-=i*i;//回退数据 k+=i; ans+=i*k; printf("%d\n",ans); } return 0; }
转载请注明原文地址: https://ju.6miu.com/read-2794.html