1040: 【入门】求任意三位数打乱次序后的最大值
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:58
解决:36
题目描述
任意输入一个三位整数,再把它的次序打乱重新组合一个新的三位整数,使其值最大。
输入
输入只有一行,包括1个整数。
输出
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
样例输入 复制
470
样例输出 复制
740
提示
n=int(input())
c=n%10
n//=10
b=n%10
n//=10
a=n%10
if a>=b and b>=c:
ans=a*100+b*10+c
elif a>=c and c>=b:
ans=a*100+c*10+b
elif b>=a and a>=c:
ans=b*100+a*10+c
elif b>=c and c>=a:
ans=b*100+c*10+a
elif c>=a and a>=b:
ans=c*100+a*10+b
elif c>=b and b>=a:
ans=c*100+b*10+a
print(ans)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b,c,ans=0;
cin>>n;
c=n%10;
n/=10;
b=n%10;
n/=10;
a=n%10;
if (a>=b&&b>=c)
ans=a*100+b*10+c;
else if (a>=c&&c>=b)
ans=a*100+c*10+b;
else if (b>=a&&a>=c)
ans=b*100+a*10+c;
else if (b>=c&&c>=a)
ans=b*100+c*10+a;
else if (c>=a&&a>=b)
ans=c*100+a*10+b;
else if (c>=b&&b>=a)
ans=c*100+b*10+a;
cout<<ans;
return 0;
}