每次只能输出一个值?????
查看原帖
每次只能输出一个值?????
719225
Nailoong_SHM楼主2023/8/8 19:50
#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<int>v; 
int n;
map<int,int>m;
int a,b,c;
signed main(){
	while(cin>>n){
		m.clear();
		m[n]=1;
		while(1){
			if(m[c]==1){
				int k=0;
				for(int i=0;i<v.size();i++){
					if(v[i]==c){
						k=i;
						break;
					}
				}
				for(int i=k;i<v.size();i++){
					printf("%lld ",v[i]);
				}
				printf("\n");
				break;
			}
			string f=to_string(n);
			sort(f.begin(),f.end());
			string s1=f;
			a=stoll(s1);
			sort(f.begin(),f.end(),greater<char>());
			string s2=f;
			b=stoll(s2);
			c=b-a;
			if(m.find(c)!=m.end()){
				m[c]++;
				v.push_back(c);
			}		
			n=c;	
		}
	}
	return 0;
}

2023/8/8 19:50
加载中...