日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

牛客网7-教417题解

發(fā)布時(shí)間:2025/4/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客网7-教417题解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目大意
各個(gè)位只含4和7的數(shù)(比如74777,47,4444),要求各位之和等于n。求其中最小的那個(gè)。如果不存在,則輸出“YingYingYing”。

題目思考
貪心:7的個(gè)數(shù)越多越好,因?yàn)檫@樣位數(shù)少,即越優(yōu)。此題肯定不能用int,long long 才存,所以只能借助字符串。

我們先求 最多需要多少個(gè)7,cnt7=n/7;然后對(duì)n取余7,這樣余數(shù)只能在0~6中,根據(jù)余數(shù)的不同,需要拆解幾個(gè)7。
什么意思? 假設(shè)對(duì)于 余數(shù)==3的情況,3+3*7=24是4的倍數(shù),需要拆解3個(gè)7,這樣這部分可以保證被4整除,即可以用6個(gè)4來(lái)填充。對(duì)應(yīng)case 3的情況

#include<bits/stdc++.h> using namespace std;int n,cnt4=0,cnt7=0;int main(){cin>>n;cnt7=n/7;//統(tǒng)計(jì)7的個(gè)數(shù) int res=n%7;switch(res){case 0: break;case 1:cnt7--;cnt4+=2;break;case 2:cnt7-=2;cnt4+=4;break;case 3:cnt7-=3;cnt4+=6;break;case 4:cnt4++;break;case 5:cnt7-=1;cnt4+=3;break;case 6:cnt7-=2;cnt4+=5;break;}if(cnt7<0) cout<<"YingYingYing";else{for(int i=1;i<=cnt4;i++) cout<<"4";for(int i=1;i<=cnt7;i++) cout<<"7";}}

總結(jié)

以上是生活随笔為你收集整理的牛客网7-教417题解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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