日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

蓝桥杯 1427 买不到的数目 (模拟)

發(fā)布時間:2025/7/14 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯 1427 买不到的数目 (模拟) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。?

小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數(shù)目是無法組合出來的,比如要買? 10? 顆糖。?

你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數(shù)量是17。大于17的任何數(shù)字都可以用4和7組合出來。?

本題的要求就是在已知兩個包裝的數(shù)量時,求最大不能組合出的數(shù)字。?

輸入

兩個正整數(shù),表示每種包裝中糖的顆數(shù)(都不多于1000)?

輸出

一個正整數(shù),表示最大不能買到的糖數(shù)?

樣例輸入

4 7

樣例輸出

17

分析:

對于要找出最大不能組合成的值,肯定要從大往小找,那么確定查找的上線就會是十分重要的,這個上限就應該是兩個數(shù)的最小公倍數(shù),然后從這里開始找。

代碼:

#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int gcd(int a, int b) { return a%b == 0?b:gcd(b,a%b); //求出兩個數(shù)的最大公約數(shù) } int main(){int n,m,k,j,i;int flag=0;scanf("%d%d",&n,&m);int op=n*m/gcd(n,m);//根據(jù)兩個數(shù)的最大公約數(shù),求出兩個數(shù)的最小公倍數(shù) for( k=op;k>=1;k--)//因為我們要找到的是最大的,所以應該從大往小找 {flag=0;for( i=0;i<=k/n;i++){for( j=0;j<=k/m;j++){if(n*i+m*j==k)//表示可以組合成當前的個數(shù),就不用往下循環(huán)了 {flag=1;break;}}if(flag==1)//當前這個k已經(jīng)找到了 break;}if(flag==0)//當前這個k無論如何也找不出來,也就意味著沒法組合,即為所求 break; }printf("%d",k); return 0;}

轉(zhuǎn)載于:https://www.cnblogs.com/cmmdc/p/6729692.html

總結(jié)

以上是生活随笔為你收集整理的蓝桥杯 1427 买不到的数目 (模拟)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。