You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++实现不使用除法运算比较两类糖果每千克单价高低

解题思路

要判断两类糖果的单位重量售价高低,本质是比较 s1/m1 和 s2/m2 的大小。由于重量 m1、m2 均为正整数,两边同时乘以 m1*m2 不会改变不等号方向,因此可以把除法比较等价转换为乘法比较:

比较 s1 * m2 和 s2 * m1 的大小即可得到结果,全程不需要使用除法或取模运算。

实现逻辑
  • 输入四个整数:第一类糖果重量m1、售价s1,第二类糖果重量m2、售价s2
  • 计算两个交叉乘积:left = s1 * m2,right = s2 * m1
  • 分支判断结果:
    • 若left > right:第一类糖果每千克售价更高
    • 若left < right:第二类糖果每千克售价更高
    • 若left == right:两类糖果每千克售价相同
示例验证

题目给出的示例参数:m1=2、s1=17、m2=3、s2=14

  • 计算得 left = 17*3 = 51,right =14*2=28
  • 51>28,因此第一类糖果更贵,和预期结果一致
C++实现代码
#include <iostream>
using namespace std;

int main() {
    int m1, s1, m2, s2;
    cin >> m1 >> s1 >> m2 >> s2;
    int left = s1 * m2;
    int right = s2 * m1;
    if (left > right) {
        cout << "第一类糖果更贵" << endl;
    } else if (left < right) {
        cout << "第二类糖果更贵" << endl;
    } else {
        cout << "两类糖果单位售价相同" << endl;
    }
    return 0;
}

内容的提问来源于stack exchange,提问作者Sigmar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:57:01