給定一串長度不超過 10^5的字串,本題要求你將其中所有英文本母的序號(字母 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。
輸入格式
輸入在一行中給出長度不超過 10^5 、以回車結束的字串。
輸出格式
在一行中先後輸出 0 的個數和 1 的個數,其間以空格分隔。注意:若字串中不存在字母,則視為 n 不存在,也就沒有 0 和 1。
輸入樣例:
pat (basic)
輸出樣例:
3 4
以回車結尾的字串需要用getline(),遍歷字串遇到的字母先轉大寫,然後 - 'a' + 1就是字母序號,和為sum
除基取餘法轉換二進位制,判斷餘數是0還是1,用n0表示0個數,n1表示1個數,對應++即可
注意n0,n1賦初值,且0也要輸出
#include#includeusing namespace std;
int main()
}while(sum > 0)
cout <}
1057 數零壹(20 分)
1057 數零壹 20 分 給定一串長度不超過 10 5 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串pat basic 其字母序號之和為 16 1 20 2 1 ...
1057 數零壹(20 分)
累加sum的時候記得加一 因為字母a為下標從一開始。1057 數零壹 20 分 給定一串長度不超過 10 5 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串pat b...
1057 數零壹 (20 分)
1057 數零壹 20 分 給定一串長度不超過 10 5 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串pat basic 其字母序號之和為 16 1 20 2 1 ...