P2415 集合求和

发布时间 2023-10-21 00:56:47作者: DawnTraveler

1.题目介绍

2.题解

至于为何\(C_{3}^{0}+C_{3}^{1}+C_{3}^{2}+C_{3}^{3} = 2^{3}\)
可以使用数学归纳法:
1.对于\(C_{0}^{0} = 2^0\)
2.假设对于n = k,\(C_{k}^{0}+C_{k}^{1}+C_{k}^{2}+...+C_{k}^{k} = 2^{k}\)成立
3.对于n = k + 1,
\(C_{k+1}^{0}+C_{k+1}^{1}+C_{k+1}^{2}+...+C_{k+1}^{k}+C_{k+1}^{k+1} = C_{k+1}^0+(C_k^0+C_k^1)+(C_k^1+C_k^2)+...+(C_k^{k-1}+C_k^k)+C_{k+1}^{k+1}\)

代码

提供了三种输出方式

#include <iostream>
#include <cmath>
#include <iomanip>

int main() {
    char s;
    int number, n = 0;
    long long result=0;
    while (std::cin >> number) {
        result += number;
        n++;
    }
    std::cout <<  std::fixed <<  std::setprecision(0) << result * pow(2, n-1)  << std::endl;
    //std::cout << (long long) result * pow(2, n - 1) << std::endl; //存在使用e输出法的问题
    printf("%lld\n", (long long)(result * pow(2, n-1) ));
    result *= pow(2, n - 1);
    printf("%lld", result);
    return 0;
}