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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

信息学奥赛一本通 2004:【20CSPJ普及组】优秀的拆分 | 洛谷 P7071 [CSP-J2020] 优秀的拆分

發(fā)布時(shí)間:2025/3/17 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息学奥赛一本通 2004:【20CSPJ普及组】优秀的拆分 | 洛谷 P7071 [CSP-J2020] 优秀的拆分 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【題目鏈接】

ybt 2004:【20CSPJ普及組】?jī)?yōu)秀的拆分
洛谷 P7071 [CSP-J2020] 優(yōu)秀的拆分

【題目考點(diǎn)】

  • 數(shù)制
    • 基數(shù):即進(jìn)制數(shù)。十進(jìn)制的基數(shù)是10,二進(jìn)制的基數(shù)是2。
    • 按位權(quán)展開:
      例:1234=1?103+2?102+3?101+4?1001234 = 1*10^3+2*10^2+3*10^1+4*10^01234=1?103+2?102+3?101+4?100
    • 十進(jìn)制轉(zhuǎn)二進(jìn)制方法:除基取余
      10 / 2 = 5 … 0
      5 / 2 = 2 … 1
      2 / 2 = 1 … 0
      1 / 2 = 0 … 1
      先得到的余數(shù)是低位,后得到的是高位。從下向上取數(shù)字,得到10對(duì)應(yīng)的的二進(jìn)制數(shù)字為1010

【解題思路】

  • 題目中的拆分,即為數(shù)字在二進(jìn)制下的按位權(quán)展開式。
    例:10=23+21=1?23+0?22+1?21+0?2010 = 2^3 + 2^1 = 1*2^3+0*2^2+1*2^1+0*2^010=23+21=1?23+0?22+1?21+0?20 ,提取每項(xiàng)前面的系數(shù),就可以得到10的二進(jìn)制表示為1010。

  • 題目要求拆分后的各個(gè)數(shù)字必須是2的正整數(shù)次冪,也就是說202^020111不符合要求,奇數(shù)在按位權(quán)展開后必然會(huì)得到一項(xiàng)202^020,因此奇數(shù)沒有優(yōu)秀的拆分。

  • 可以通過除基取余的方法得到這個(gè)二進(jìn)制數(shù)字,將其記錄在一個(gè)數(shù)字?jǐn)?shù)組中。再?gòu)母呶幌虻臀槐闅v這個(gè)數(shù)字?jǐn)?shù)組,如果數(shù)組某元素為1,那么輸出該位置對(duì)應(yīng)的位權(quán)。
    例:10通過除基取余得到的二進(jìn)制數(shù)字存在數(shù)組中,為
    數(shù)組元素:0 1 0 1
    數(shù)組下標(biāo):0 1 2 3
    倒序遍歷數(shù)組,如果下標(biāo)為i的元素為1,那么輸出2i2^i2i

  • 【注意 :輸出樣式】pow函數(shù)返回浮點(diǎn)型,如數(shù)字很長(zhǎng),用cout或printf("%g")輸出時(shí),會(huì)以科學(xué)計(jì)數(shù)法的形式輸出,那樣不符合題目要求。應(yīng)該將pow()函數(shù)的返回值轉(zhuǎn)為整型后再輸出。

【題解代碼】

解法1:

#include<bits/stdc++.h> using namespace std; int main() {int n, num, r[100], ri = 0;//r:數(shù)字?jǐn)?shù)組 ri:數(shù)組填充用下標(biāo) cin >> n;if(n % 2 == 1)cout<<-1;else{for(int a = n; a > 0; a /= 2)//除基取余 r[ri++] = a % 2;for(int i = ri - 1; i >= 0; i--)//倒序遍歷數(shù)組 {if(r[i] == 1)cout << int(pow(2, i)) << ' ';//輸出2^i,要以整型輸出,pow返回浮點(diǎn)型,浮點(diǎn)型在很長(zhǎng)時(shí)輸出樣式可能變?yōu)榭茖W(xué)計(jì)數(shù)法 }}return 0; }

解法2:

用num記錄當(dāng)前位權(quán),如果當(dāng)前位權(quán)系數(shù)為1,那么用數(shù)組r記錄,位權(quán),最后倒序輸出數(shù)組r。

#include<bits/stdc++.h> using namespace std; int main() {int n, a, wei, r[100], ri = 0;cin>>n;if(n % 2 == 1)cout << -1;else{//wei為位權(quán),初值1,每次循環(huán)乘2,值為1,2,4,8。。。 for(a = n, wei = 1; a > 0; a /= 2, wei *= 2){if(a % 2 == 1)//如果位權(quán)前系數(shù)為1 r[ri++] = wei;//記錄該位權(quán) }for(int i = ri - 1; i >= 0; --i)//倒序遍歷輸出 cout<<r[i]<<' ';}return 0; } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!

總結(jié)

以上是生活随笔為你收集整理的信息学奥赛一本通 2004:【20CSPJ普及组】优秀的拆分 | 洛谷 P7071 [CSP-J2020] 优秀的拆分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 午夜三级福利 | 久久青草热 | 看片在线| 美乳人妻一区二区三区 | 成人久久一区 | 黄页嫩草 | 亚洲经典在线 | www.成人在线| 成年人免费在线观看 | 美女被猛网站 | 最近国语视频在线观看免费播放 | 秋霞欧美一区二区三区视频免费 | 91人人澡人人爽人人精品 | 欧美视频在线不卡 | 天天精品 | 亚洲视频欧美 | 狠狠操操 | 欧美精品一区三区 | 久久538| 91精品啪 | 超碰在线图片 | 久久黄色影院 | 欧美精品色图 | 自拍亚洲一区 | 欧美成人性生活视频 | 午夜宫 | 美女自卫网站 | 国产精品伦理 | 欧美一区亚洲二区 | 中文字幕在线字幕中文 | 黄色国产一区二区 | 亚洲www在线观看 | 欧美性啪啪 | av日韩一区二区三区 | 日本55丰满熟妇厨房伦 | 九色网址 | www天天操 | 欧美视频一区二区在线 | 色综合久久88色综合天天6 | 亚洲第一免费视频 | 国产精品久久久久免费 | 免费毛片视频 | 葵司av在线 | 97人人爽人人爽人人爽 | 少女情窦初开的第4集在线观看 | 亚洲www在线 | 开心激情播播 | 国产激情在线视频 | 中文字幕国产在线观看 | 欧美老熟 | 成人在线免费电影 | 国产精品8888 | 猛男被粗大男男1069 | 少妇3p视频 | 亚洲人成无码www久久久 | 欧美成人性生活片 | 亚日韩一区 | 韩国午夜av | www.欧美视频 | 韩国av免费观看 | 99国产精品99久久久久久 | 亚洲综合第一区 | 18+视频在线观看 | 久久免费精彩视频 | 日本久久一级片 | 91精品国产一区二区无码 | 噼里啪啦国语高清 | 色狠狠久久av大岛优香 | 国产精品第二页 | 国产一区二区三区在线播放无 | 伊人免费在线观看 | 中文字幕在线观看av | 午夜小视频网站 | 久久综合婷婷 | 韩国av一区二区三区 | 久热这里只有精品6 | 黄色一级片. | 日本一区二区三区视频在线 | 91热爆视频| 日本不卡中文字幕 | 色婷婷av久久久久久久 | 日韩欧美国产一区二区 | 国产四区视频 | 香蕉日日| 久久久久精 | 激情内射亚洲一区二区三区爱妻 | 丝袜黄色片| 恶虐女帝安卓汉化版最新版本 | 五月婷激情 | 黑白配高清国语在线观看 | 亚洲一区二区三区四区五区xx | 浓精喷进老师黑色丝袜在线观看 | 亚洲欧美小视频 | 欧洲自拍一区 | 激情瑟瑟| 人妻熟女aⅴ一区二区三区汇编 | jizz国产视频| 欧美中日韩在线 | 不卡一区二区在线观看 |