打表失败,求更正
查看原帖
打表失败,求更正
836448
stylus楼主2024/6/29 22:08

打表失败,求更正:

#include<bits/stdc++.h>
using namespace std;
char c;
int a,l;
string s[3];
int main(){
	cin>>c>>a;
	if(a%10==4)cout<<c<<a-3<<endl<<c<<a-2<<endl<<c<<a-1<<endl;
	else if(a%10==1){
		s[l++]=c+to_string(a+3);
		if(a!=(pow(10,ceil(log10(a)))-1)/9*(a%10))s[l++]=c+to_string(a/100*10+4);
		if(a/1000*10+4!=a/100*10+4)s[l++]=c+to_string(a/1000*10+4);
	}else if(a%10==2){
		s[l++]=c+to_string(a+2);
		if(a!=(pow(10,ceil(log10(a)))-1)/9*(a%10))s[l++]=c+to_string(a/100*10+4);
		if(a/1000*10+4!=a/100*10+4)s[l++]=c+to_string(a/1000*10+4);
	}else{
		s[l++]=c+to_string(a+1);
		if(a!=(pow(10,ceil(log10(a)))-1)/9*(a%10))s[l++]=c+to_string(a/100*10+4);
		if(a/1000*10+4!=a/100*10+4)s[l++]=c+to_string(a/1000*10+4);
	}sort(s,s+l);
	for(int i=0;i<l;i++)cout<<s[i]<<endl;
	return 0;
}
2024/6/29 22:08
加载中...