gotutiyan’s blog

競技プログラミングをやったりopenframeworksでお絵かきをしたりしています。

AOJ 0055 Sequence

問題
数列の和 | Aizu Online Judge


解説
いくつデータが来るかわからないのでwhile(cin>>)を使って読める分だけ読みます。
最初に解答変数ansに初項nを代入しておきます。これで後は残りの9項を足せば良いので、forを9回回し、ループ変数の偶奇で2で割るか3で割るかを決めます。
最後にansを出力すれば良いです。

int main(){
    double n;
    while(cin>>n){
    double ans=n;
    rep(i,0,9){
        if(i%2==0)n*=2;
        else n/=3;
        ans+=n;
    }
    printf("%.10f\n",ans);
    }
    return 0;
}