Sup_Tim 2022-10-06 15:43 采纳率: 100%
浏览 31
已结题

关于#这个#的问题,如何解决?

如何修改?
第1题 买水果 (课程8) 时限:1s 空间:256m
萌萌和瞳瞳各拿N元去买苹果和西瓜,已知每个苹果的价格是a、每个西瓜的价格是b。萌萌要求N元买苹果全部正好用完;瞳瞳的要求N元买西瓜后正好剩3元作为请人运输的费用。
如果N至少是100,请问N最少是多少?

输入格式
一行2个正整数:a和b,a范围在[1,20], b范围在[4,20]

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b;
cin>>a>>b;
while(1)
{

    if(n%a==0 && n%b==3 || n>=100)
    {
        break;
    }
     n++;
    
}
cout<<n;

return 0;

}

怎么做?

  • 写回答

1条回答 默认 最新

  • a5156520 2022-10-09 19:35
    关注

    这个判断条件 if(n%a==0 && n%b==3 || n>=100 )里的 || 改为&&即可。

    n%a==0保证萌萌要求N元正好买完苹果;
    n%b==3保证瞳瞳要求N元买完西瓜剩余3元;
    然后n>=100保证N至少是100元.
    逻辑运算符&&保证三个条件同时满足。
    然后通过程序运行,当三个条件同时满足时即最小的n,然后程序执行if分支的break退出。
    修改如下:

    #include<iostream>
    using namespace std;
    int main()
    {
        int n=0,a,b;
        cin>>a>>b;
        while(1)
        {
        
            // n对a求余等于0说明 买完苹果正好n元
            // n对b求余 等于3 说明买完西瓜正好剩余3元
            // n>=100 这个是满足题目要求
            //三个条件必须同时满足, 所以三个条件之间用的  逻辑与运算符&&  用于表示三个条件同时满足 
            if(n%a==0 && n%b==3 && n>=100)
            {
                break;
            }
             n++;
            
        }
        cout<<n;
         
        return 0;
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 10月6日

悬赏问题

  • ¥15 Android STD快速启动
  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动