分析问题
想象一下,米老鼠发现了厨房里有好多糖果!总共有 ( n ) 颗糖果。它每次偷糖果时,都会背走 ( a ) 颗(比如每次背 2 颗)。它一共偷了 ( x ) 次(比如偷了 3 次)。题目说偷了 ( x ) 次后,一定还有糖果剩下,所以我们不用担心糖果不够的问题。
建立模型
要计算偷完后还剩下多少糖果,我们可以这样想:
- 先算米老鼠总共偷走了多少糖果:每次偷 ( a ) 颗,偷了 ( x ) 次,所以总偷走量是 ( a * x )(乘法)。
- 再算剩下的糖果:原来有 ( n ) 颗,减去偷走的部分,就是剩下的。所以公式是:
剩余糖果} = n – (a * x)
举个例子(用题目给的样例):
- 输入:12 颗糖果(n = 12 ),每次背 2 颗(a = 2 ),背了 3 次(x = 3 )。
- 总偷走:( 2 * 3 = 6 ) 颗。
- 剩余:( 12 – 6 = 6 ) 颗。
- 输出:6。
这个模型很简单,就像你有一堆糖果,每次拿走一些,拿了几次后算剩下多少。五年级的小朋友可以自己用小数字试试看哦!
编写 C++ 程序
根据上面的模型,我们写一个简单的程序。程序会读取三个整数 ( n )、( a )、( x ),然后计算并输出剩余的糖果数量。
#include <bits/stdc++.h>
using namespace std;
int main() {
// 定义变量:n 是总糖果数,a 是每次背走的糖果数,x 是背的次数
int n, a, x;
// 从输入读取三个整数
cin >> n >> a >> x;
// 计算剩余糖果:剩余 = 总糖果 - (每次背的 × 次数)
// 这里变量定义后,直接赋值
int remaining = n - a * x;
// 输出剩余糖果
cout << remaining << endl;
return 0;
}
保存 编译 运行
程序说明
- 输入:三个整数,用空格分开,比如
12 2 3。 - 输出:一个整数,表示偷完后剩下的糖果。
- 注意:题目保证偷完后还有糖果剩下,所以程序不需要检查负数情况。
- 测试:你可以用样例输入
12 2 3测试,输出应该是6。其他例子: - 输入
10 3 2(10 颗糖,每次背 3 颗,背 2 次),输出4。 - 输入
5 1 4(5 颗糖,每次背 1 颗,背 4 次),输出1。