文章

3

粉丝

60

获赞

12

访问

362

头像
求30的倍数 题解:
P1736 华东师范大学2020年机试题
发布于2025年2月11日 21:21
阅读数 114

#include<bits/stdc++.h>
using namespace std;
bool cmp(int x,int y){
	return x>y;
}
int a[1005];
string s="";
int main(){
	cin>>s;
	for(int i=0;i<s.size();i++){
		a[i]=s[i]-'0';//字符转数字 
	}
	int flag=0;
	int sum=0;
	for(int i=0;i<s.size();i++){//分别划分为同时被3和10整除 
		if(a[i]==0){//如果有0则标记为1,表示可以被10除 
			flag=1;
		}
		sum+=a[i];//求和看能不能被3整除 
	}
	if(flag==0||sum%3!=0){//不能被3整除或者10整除 
		cout<<"-1"<<'\n';
	}
	else{//能被3和10同时整除//即能被30整除 
		sort(a,a+s.size(),cmp);//求最大值 
		for(int i=0;i<s.size();i++){
			cout<<a[i];
		}
		cout<<endl;
	}
	return 0;
} 

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发