t****b 发帖数: 2484 | 1 来做道题吧 不考虑乘除 只考虑加减 给定数字X 最少需要几个5/6?
【 以下文字转载自 Money 讨论区 】
发信人: united (airlines), 信区: Money
标 题: 求救: 笔记本电脑数字键只有5和6能打出来,其他都不好使了
发信站: BBS 未名空间站 (Tue Sep 5 22:52:48 2017, 美东)
%^也能打出来,
有人知道咋回事吗?
谢谢 |
t****b 发帖数: 2484 | 2
Bear
han6 (周瑜)
2 54.* 9/6/17, 11:52:3 AM (944')
1 = 6-5
2 = (5+5)/5
3 = (5+5+5)/5
4 = 5+5-6
5 = 5
6 = 6
7 = 6+6-5
8 = 6+(5+5)/5
9 = 5+5+5-6
10 = 5+5
【在 t****b 的大作中提到】 : 来做道题吧 不考虑乘除 只考虑加减 给定数字X 最少需要几个5/6? : 【 以下文字转载自 Money 讨论区 】 : 发信人: united (airlines), 信区: Money : 标 题: 求救: 笔记本电脑数字键只有5和6能打出来,其他都不好使了 : 发信站: BBS 未名空间站 (Tue Sep 5 22:52:48 2017, 美东) : %^也能打出来, : 有人知道咋回事吗? : 谢谢
|
z*********n 发帖数: 1451 | 3
好题来源于生活而高于生活,大保健兄信手拈来就是道好题。
coding了下,只考虑加减,O(1)时空:
int solve(int n)
{
n = abs(n);
int k1 = n/6;
int k2 = ceil(n/6.);
int k3 = ceil(n/5.);
int k4 = n/5;
int s1 = 2*n - 11*k1;
int s2 = k2 <= k4 ? k2 : INT_MAX;
int s3 = -2*n + 11*k3;
return min(min(s1, s2), s3);
}
corner case:n=0时,给的答案是0,这个就是一个5/6都不要默认是0。
【在 t****b 的大作中提到】 : 来做道题吧 不考虑乘除 只考虑加减 给定数字X 最少需要几个5/6? : 【 以下文字转载自 Money 讨论区 】 : 发信人: united (airlines), 信区: Money : 标 题: 求救: 笔记本电脑数字键只有5和6能打出来,其他都不好使了 : 发信站: BBS 未名空间站 (Tue Sep 5 22:52:48 2017, 美东) : %^也能打出来, : 有人知道咋回事吗? : 谢谢
|
D**********0 发帖数: 1022 | |
M***6 发帖数: 895 | |
k*****u 发帖数: 136 | 6 求解释啊
【在 z*********n 的大作中提到】 : : 好题来源于生活而高于生活,大保健兄信手拈来就是道好题。 : coding了下,只考虑加减,O(1)时空: : int solve(int n) : { : n = abs(n); : int k1 = n/6; : int k2 = ceil(n/6.); : int k3 = ceil(n/5.); : int k4 = n/5;
|
T**********a 发帖数: 324 | 7 DP, 从下往上
【在 t****b 的大作中提到】 : 来做道题吧 不考虑乘除 只考虑加减 给定数字X 最少需要几个5/6? : 【 以下文字转载自 Money 讨论区 】 : 发信人: united (airlines), 信区: Money : 标 题: 求救: 笔记本电脑数字键只有5和6能打出来,其他都不好使了 : 发信站: BBS 未名空间站 (Tue Sep 5 22:52:48 2017, 美东) : %^也能打出来, : 有人知道咋回事吗? : 谢谢
|