1. 设定一个任意数字串,数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数,将答案按 “偶-奇-总” 的位序,排出得到新数。重复进行,最后会得到 123。
1 #include<iostream> 2 #include<sstream> 3 using namespace std; 4 int main() 5 { 6 string s[1000]; 7 cin>>s[0]; 8 int i = 0; 9 int odd = 0,even = 0; 10 int sum = odd + even; 11 while(1) 12 { 13 odd = 0,even = 0; 14 for(int j = 0 ; j < s[i].length() ; j++) 15 { 16 if((s[i][j]-‘0‘)%2==0)odd++; 17 else even++; 18 } 19 sum = odd + even; 20 i++; 21 stringstream ss; 22 ss<<odd<<even<<sum; 23 ss>>s[i]; 24 if(s[i][0]==‘1‘&&s[i][1]==‘2‘&&s[i][2]==‘3‘)break; 25 } 26 for(int k = 0 ; k <= i ; k++)cout<<s[k]<<endl; 27 }
时间: 2024-12-25 02:22:42