问题标题: 酷町堂:1506

0
0
已解决
侯平仄
侯平仄
新手天翼
新手天翼
#include<iostream>
#include<cmath>
#include<string>
#include<cstdio>
using namespace std;
int n,a[1000000],cnt,t,m;
int main(){
	string s;
	cin>>s;
	while(s!="123"){
		cnt++;
		//string ls="";
		int j=0,o=0;
		for(int i=0;i<s.size();i++){
			if((s[i]-'0')%2==1) j++;
			else o++;
		}
		s="";
		//cout<<j<<" "<<o<<endl;
		int g=j+o;
		if(g<10){
			s[0]=o+'0';
			s[1]=j+'0';
			s[2]=g+'0';
			
		}else{
			s[0]=o+'0';
			s[1]=j+'0';
			s[2]=(g%10)+'0';
			s[3]=((g/10)+'0');
		}
		cout<<s;
		
	} 
	cout<<cnt;
}

求大神指点!谢谢

侯平仄在2020-03-11 20:31:47追加了内容

 

#include<iostream>

 

#include<cmath>

 

#include<string>

 

#include<cstdio>

 

using namespace std;

 

int n,a[1000000],cnt,t,m;

 

int main(){

 

string s;

 

cin>>s;

 

while(s!="123"){

 

cnt++;

 

//string ls="";

 

int j=0,o=0;

 

for(int i=0;i<s.size();i++){

 

if((s[i]-'0')%2==1) j++;

 

else o++;

 

}

 

s="";

 

//cout<<j<<" "<<o<<endl;

 

int g=j+o;

 

if(g<10){

 

s[0]=o+'0';

 

s[1]=j+'0';

 

s[2]=g+'0';



 

}else{

 

s[0]=o+'0';

 

s[1]=j+'0';

 

s[2]=(g%10)+'0';

 

s[3]=((g/10)+'0');

 

}

 

cout<<s;



 

}

 

cout<<cnt;

return 0;

}


0
已采纳
酷町侠
酷町侠
新手启示者
新手启示者

因为数字最多有18位,统计出来的奇数个数或者偶数个数有可能是两位数,情况也要考虑到。@侯平仄

0
0
沈峻宇
沈峻宇
资深天翼
资深天翼

return 0;很重要,没有他你的输出会一塌糊涂!

0
侯平仄
侯平仄
新手天翼
新手天翼

请问你们这些人,我要的是思路,你们呢?

return 0没加!!!!

你的return 0;呢?代码里没有一个!

@酷町侠 快惩罚这些人 

@酷町侠 hurry up!!!!!

再说了,我之后的代码不是加了吗????

0
0
潘晨皓
潘晨皓
高级天翼
高级天翼

你的return 0;呢?代码里没有一个!

0
酷町侠
酷町侠
新手启示者
新手启示者

其他同学请注意,不要故意水经验!!

最近在处理完整代码的事情,暂时还没来得及处理水贴。请同学们回答问题的时候,以真正能够帮助到提问的同学为目的。不要发一些无营养的信息!

0
0
我要回答