POJ2000-Gold Coins

http://poj.org/problem?id=2000

我承认我的写法略坑爹,看代码思路应该也好懂,好歹这里全都是我自己原创的吧#- -。。。

#include<stdio.h>
const int MAX=141;
int a[MAX];
int main(void)
{  
    int i,j,k,n,t,sum;
    for(i=1;i<MAX;i++)
       a[i]=i*(i+1)/2;
    while(scanf("%d",&n),n)
    {
        sum=0;
        for(i=1;i<MAX;i++)
           if(a[i]>=n) 
              break;
           j=n-a[i-1];
           for(k=1;k<i;k++)
              sum+=k*k;
           sum+=j*i;
           printf("%d %d\n",n,sum);
    }
    return 0;
}
posted @ 2012-08-28 20:42  Yogurt Shen  阅读(216)  评论(0编辑  收藏  举报