problemcutter

导航

SPOJ Problem 11063:AP - Complete The Series (Easy)

已知数列的第三项,最后第三项和数列的和,求这个数列

sum=(a1+an)*n/2=(a3+a(n-3))/2,所以可以知道n.又(a(n-3)-a3)/(n-5)=d,那么就可以得到数列了。

#include<cstdio>
#include<cstring>
int t,i;
long long n,sum,a,b,d,fi;
int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%lld%lld%lld",&a,&b,&sum);
        n=sum*2/(a+b);
        d=(b-a)/(n-5);
        fi=a-2*d;
        printf("%lld\n",n);
        for (i=1;i<n;i++){
            printf("%lld ",fi);
            fi+=d;
        }
        printf("%lld\n",fi);
    }
}

 

posted on 2015-03-07 10:07  problemcutter  阅读(117)  评论(0)    收藏  举报