1057 数零壹

关键

二进制的算法

代码

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;

int main()
{
	string s;
	int cnt=0;
	int zcnt=0,ocnt=0;
	getline(cin,s,'\n');
	for(int i=0;s[i]!=NULL;i++){
		if(s[i]<='z'&&s[i]>='a'){
			cnt+=s[i]-'a'+1;
		}
		else if(s[i]<='Z'&&s[i]>='A'){
			cnt+=s[i]-'A'+1;
		}
	}
	if(cnt==0){
		cout<<0<<" "<<0;
	}
	else{
		while(cnt/2!=0){
			if(cnt%2==0){
				zcnt++;
			}
			else if(cnt%2==1){
				ocnt++;
			}
			cnt=cnt/2;
		}
		ocnt++;
		cout<<zcnt<<" "<<ocnt;	
	}
	return 0;
}
posted @ 2022-07-11 12:20  qwasdasd  阅读(27)  评论(0)    收藏  举报