问题描述
小贝给了小聪一个正整数 x,但是小聪决定把这个数改掉。她可以把整数 x 每个位置上的数 t 改成 9-t。
请你帮助小聪来计算一下,如何把 x 改成一个最小的正整数,注意,不能出现首位为 0 的情况。
输入格式
输入一个正整数x,表示初始的数。
输出格式
输出一个正整数,表示小聪通过修改可以得到的最小数,注意不能出现首位为0的情况。
输入输出样例
输入样例1 | 输出样例1 |
3 8 6 5 8 | 2 |
输入样例2 | 输出样例2 |
7 20 21 15 12 11 20 19 12 | 6 |
数据规模与约定
对于 100%的数据,1 ≤ x ≤
。
#include <bits/stdc++.h>
using namespace std;
int main(){
char x[20];
cin >> x;
int l = strlen(x);
int a[20];
a[0] = x[0] - '0';
if(a[0] != 9){
if(a[0] >= 5){
a[0] = 9 - a[0];
cout << a[0];
}
else{
cout << a[0];
}
for(int i = 1; i < l; i++){
a[i] = x[i] - '0';
if(a[i] >= 5){
a[i] = 9 - a[i];
}
cout << a[i];
}
}
else{
cout << a[0];
for(int i = 1; i < l; i++){
a[i] = x[i] - '0';
if(a[i] >= 5){
a[i] = 9 - a[i];
}
cout << a[i];
}
}
return 0;
}