NOIP 2015 普及组 复赛 coin 金币

    xiaoxiao2021-03-25  183

    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

    最新回复(0)