5 条题解
-
8
疯狂暴力枚举! 整整用了110 行,整整打了30 分钟!一递交,AC 了,但是只有 1 个样例,我却把所有的可能 都列举出来了(除了百位是0的情况,因为如果一个三位数的百位是0,就不叫三位数了 )!
已AC,请放心食用
#include <iostream> using namespace std; int n, a[3]; int main() { cin >> n; int b = n / 100, s = n % 100 / 10, g = n % 10; if (b < s && b < g) { a[0] = b; if (s < g) { a[1] = s; a[2] = g; } else { a[1] = g; a[2] = s; } } else if (s < b && s < g) { if (s == 0) { a[1] = s; if (b < g) { a[0] = b; a[2] = g; } else { if (g == 0) { a[0] = b; a[2] = g; } else { a[0] = g; a[2] = b; } } } else { a[0] = s; if (b < g) { a[0] = b; a[2] = g; } else { if (g == 0) { a[1] = b; a[2] = g; } else { a[1] = g; a[2] = b; } } } } else { if (g == 0) { a[1] = g; if (b < s) { a[0] = b; a[2] = s; } else { if (s == 0) { a[0] = b; a[2] = s; } else { a[0] = s; a[2] = b; } } } else { a[0] = g; if (b < s) { a[1] = b; a[2] = s; } else { a[1] = s; a[2] = b; } } } cout << a[0] << a[1] << a[2]; return 0; }
题解制作不易,点个赞吧
-
2
还是我,在[P41【入门】是否是连续奇数]中打了200行代码的人,这次就100行,少太多了。这是我的思路:用3个变量代表个位,十位,百位;最小且不等于0的数放入d,如果等于0就用第2小的数,一直判断,最后输出def。
#include <iostream> using namespace std; int main() { int n,a,b,c,d,e,f; cin >> n; a=n/100;//百位 b=(n%100)/10;//十位 c=n%10;//个位 if(a < b && a < c && a!=0) { d=a; if(b < c) { e=b; f=c; } else { e=c; f=b; } } if(a < b && a < c && a0) { e=a; if(b < c) { d=b; f=c; } else { d=c; f=b; } } if(b < a && b < c && b!=0) { d=b; if(a < c) { e=a; f=c; } else { e=c; f=a; } } if(b < a && b < c && b0) { e=b; if(a < c) { d=a; f=c; } else { d=c; f=a; } } if(c < b && c < a && c!=0) { d=c; if(b < a) { e=b; f=a; } else { e=a; f=b; } } if(c < b && c < a && c==0) { e=c; if(b < a) { d=b; f=a; } else { d=a; f=b; } } cout << d << e << f << endl; return 0; }
-
1
不知道这样算不算对?
#include <iostream> using namespace std; int main() { int n,a[3],mino=1000,x=0,m2=1000,m3=1000,x2=0; cin >> n; a[0]=n/100; a[1]=n/10%10; a[2]=n%10; for (int i=0;i<3;i++) { if (a[i]<mino) { if (a[i]!=0) { mino=a[i]; x=i; } } } for (int i=0;i<3;i++) { if (i != x) { if (a[i]<m2) { m2=a[i]; x2=i; } } } for (int i=0;i<3;i++) { if (i != x && i!=x2) { m3=a[i]; } } cout << mino << m2 << m3; return 0; }
至少AC了
-
0
...最简?
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int a=n%10,b=n/10%10,c=n/100; if (min(min(a,b),c)==0) if (max(max(min(a,b),min(a,c)),min(b,c))==0) cout<<n; else cout<<max(max(min(a,b),min(a,c)),min(b,c))<<"0"<<max(max(a,b),c); else cout<<min(min(a,b),c)<<max(max(min(a,b),min(a,c)),min(b,c))<<max(max(a,b),c); return 0; }
- 1
信息
- ID
- 243
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 2
- 标签
- 递交数
- 117
- 已通过
- 74
- 上传者