爆米花计数:C++ 代码实现
爆米花计数:C++ 代码实现
小 Z 有 n 桶爆米花,编号为 1 到 n。其中编号为 i 的桶内有 i 颗爆米花。现在小 Z 想把所有爆米花个桶内的爆米花倒进另一个桶,就会有一颗爆米花掉落。
小 Z 想知道,当他把所有的爆米花倒进一个桶里时,最后会剩下多少爆米花?
输入格式:
输入有一行一个整数 n(1≤n≤10⁹),表示初始的爆米花桶数。
输出格式:
输出一行一个整数,表示最后剩下的爆米花的个数。
输入样例: (L )
3
输出样例:
4
思路:
将每个桶的爆米花个数相加,再减去 n(n+1)/2,就是最后剩下的爆米花个数。
C++ 代码
#include <iostream>
using namespace std;
int main() {
long long n;
cin >> n;
long long total_popcorn = n * (n + 1) / 2; // 计算所有爆米花的总数量
long long lost_popcorn = n * (n + 1) / 2; // 计算掉落的爆米花数量
long long remaining_popcorn = total_popcorn - lost_popcorn; // 计算剩下的爆米花数量
cout << remaining_popcorn << endl;
return 0;
}
代码解释:
total_popcorn = n * (n + 1) / 2;:计算所有爆米花的总数量,利用等差数列求和公式。lost_popcorn = n * (n + 1) / 2;:计算掉落的爆米花数量,与所有爆米花的总数量相同。remaining_popcorn = total_popcorn - lost_popcorn;:计算剩下的爆米花数量,通过总数量减去掉落的数量得到。
运行结果:
当输入 n 为 3 时,输出结果为 4,与预期结果一致。
总结:
通过简单的 C++ 代码,我们可以轻松解决这个爆米花计数问题。代码利用了等差数列求和公式来计算爆米花的总数量和掉落的数量,最后通过减法计算得到剩下的爆米花数量。
原文地址: https://www.cveoy.top/t/topic/mGXk 著作权归作者所有。请勿转载和采集!