计蒜客蓝桥杯模拟赛5 最大组合数
2017-04-03 16:14
169 查看
题目
右侧代码是将 6 个整数按照任意顺序组合到一起,计算能组合出的最大数字。
例如:4123,25,66 组合到一起就是 66412325。
请阅读程序补全代码,实现这个功能
右侧代码是将 6 个整数按照任意顺序组合到一起,计算能组合出的最大数字。
例如:4123,25,66 组合到一起就是 66412325。
请阅读程序补全代码,实现这个功能
#include <stdio.h> long long max(long long x, long long y) { return x > y ? x : y; } long long test(int a[], int n) { long long ret = 0; for (int i = 0; i < n; ++i) { int tp = a[i]; int j = 1; //计算位数 while(tp) { j *= 10; tp /= 10; } ret = ret * j + a[i]; } return ret; } long long f(int a[], int k) { if (k == 6) { return test(a, k); } long long ret = 0; for(int i = k; i < 6; ++i) { int t = a[k]; a[k] = a[i]; a[i] = t; ret = max(ret, f(a,k+1));//看到k==6,就知道此处用递归 t = a[k]; a[k] = a[i]; a[i] = t; } return ret; } int main() { int a[6] = {517, 283, 429, 65, 6566, 32}; printf("%lld\n", f(a, 0)); return 0; }
相关文章推荐
- 计蒜客蓝桥杯模拟赛5 组合数字
- 挑战程序设计竞赛 1.6.1 三角形 计算组合三角形的最大周长
- [第二类斯特林数 组合计数] 省选模拟赛 2 B. 两弹一星 missile
- 计蒜客蓝桥杯模拟赛5 补全等式
- 4000 【Java】计蒜客 蓝桥杯模拟赛5 组合数字
- 1792 关于数论中的互质数的最大不能组合数
- Wannafly模拟赛4 B.Distance 最大曼哈顿距离
- HDU 2582-f(n)(求n个组合数最大公约数的和)
- 随机给定10个小于10的数字(出现的数字可能重复),从其中取出3个各不相同的数字可组合出多个不同的3位数,请输出这些3位数中最大的那个3位数
- 算法基础(四)---- 计算数组组合最大和
- 给定一个任意长度的java数组,求数组内的数能组合出来的最大整数
- 一个朋友面试时遇到的算法题(怎么组合后得到最大整数)
- uva10905 最大整数组合
- 计蒜客蓝桥杯模拟赛5 阶梯三角形
- Wannafly模拟赛4 B.Distance 最大曼哈顿距离
- Java 最大连续组合值
- java 数组内的最大组合数
- 一个朋友面试时遇到的算法题(怎么组合后得到最大整数)
- 输入一串正整数,输出组合后最大的数
- Wannafly模拟赛4 B.Distance 最大曼哈顿距离