题目描述
给定一个整数 n,你可以将其中的数字以任意顺序重新排列,组成新的数字(也可以不重排,保留原数字)。
请问能否组合出 30 的倍数,如果可以,则输出满足条件的最大值,否则输出 −1。
例如,对于 210,你可以通过重排得到 201,210,012,021,102,120,其中 120,210 都是 30 的倍数,由于要找最大的,所以答案是 210。
输入格式
一个整数 n。
输出格式
输出能够通过重排得到的最大符合条件的数。
如果不存在,则输出 −1。
数据范围
1≤n≤10^9
输入样例:
201
输出样例:
210
My Answer Code:
/*
Author:Albert Tesla Wizard
Time:2021/8/29 01:54:25
*/
#include<bits/stdc++.h>
using namespace std;
void solve(int n)
{
string s=to_string(n);
int len

该博客讨论了如何对一个整数重新排列其数字以形成30的倍数,并给出了一个C++代码示例来解决此问题。在给定的数据范围内,程序检查是否存在这样的排列并输出符合条件的最大值。若无法形成30的倍数,则输出-1。
最低0.47元/天 解锁文章
2510

被折叠的 条评论
为什么被折叠?



