PAT(Basic Level) Practice : 1056 组合数的和 (15分)

1056 组合数的和 (15分)

思路

找规律
n个数字:a1,a2,...an
比如有5个数
a1,a2,a3,a4,a5
对于a1:a1a2,a1a3,a1a4,a1a5
等于 a1 * 10 * (5-1)+a2+a3+a4+a5
依次类推,再加起来得到公式。

公式是:(a1+a2+...+an)11(n-1)

代码

#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
//scanf printf防止超时
#include <algorithm>
//vector的sort
#include <sstream>
//转换
using namespace std;

#include<iomanip>
//精度

#include<cmath>
//round四舍五入取整


int main()
{
    int n;
    cin>>n;
    int sum=0;
    for(int i=0;i<n;i++)
    {
        int t;
        cin>>t;
        sum+=t;
    }
    cout<<sum*(n-1)*11<<endl;
    return 0;
}

posted @ 2020-09-26 22:03  韩天尊  阅读(142)  评论(0)    收藏  举报