題目:
給定一串長度不超過 105 的字串,本題要求你將其中所有英文本母的序號(字母 a-z 對應序號 1-26,不分大小寫)相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0、多少 1。例如給定字串 pat (basic),其字母序號之和為:16+1+20+2+1+19+9+3=71,而 71 的二進位制是 1000111,即有 3 個 0、4 個 1。
輸入格式:
輸入在一行中給出長度不超過 105 、以回車結束的字串。
輸出格式:
在一行中先後輸出 0 的個數和 1 的個數,其間以空格分隔。
輸入樣例:
pat (basic)
輸出樣例:
3 4
我的**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
//有的時候題目是一起做的,所以會有不需要的標頭檔案
intmain()
;for
(int i=
0;ilength()
;i++
)int sum=0;
for(
int i=
0;i<
27;i++
)int num_0=
0,num_1=0;
while
(sum>=1)
cout<" "
}
PAT 乙級 1057 數零壹 20 分
題目 經驗總結 讓數字與1進行 操作,判斷結果為0還是1,分別計數即可。記 右移操作符操作完了得把結果賦值給變數,不能單獨使用。右移1位相當於除以2,左移1位相當於乘以2。移n位,相當於乘以或除以2n 記 sum sum 1 等價於 sum 1 c include include using nam...
PAT乙級 1057 數零壹 20分
給定一串長度不超過 10 5 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串 pat basic 其字母序號之和為 16 1 20 2 1 19 9 3 71,而 7...
PAT乙級 1057 數零壹 20分
給定一串長度不超過 105 10 5 105 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串pat basic 其字母序號之和為 16 1 20 2 1 19 9 3...