7-25 程序员买包子
.
原题:
是一条检测真正程序员的段子:假如你被家人要求下班顺路买十只包子,如果看到卖西瓜的,买一只。那么你会在什么情况下只买一只包子回家?
要求你考虑这个段子的通用版:假如你被要求下班顺路买 N 只包子,如果看到卖 X 的,买 M 只。那么如果你最后买了 K 只包子回家,说明你看到卖 X 的没有呢?
输入格式:
输入在一行中顺序给出题面中的 N、X、M、K,以空格分隔。其中 N、M 和 K 为不超过 1000 的正整数,X 是一个长度不超过 10 的、仅由小写英文字母组成的字符串。题目保证 N\=M。
输出格式:
在一行中输出结论,格式为:
- 如果 K=N,输出
mei you mai X de
; - 如果 K=M,输出
kan dao le mai X de
; - 否则输出
wang le zhao mai X de
.
其中X
是输入中给定的字符串 X。
.
解题思路:
- 已知的数据: N、X、M、K
- 解题思路:根据输出格式编写代码
- 如果 K=N,输出
mei you mai X de
; - 如果 K=M,输出
kan dao le mai X de
; - 否则输出
wang le zhao mai X de
. - 其中
X
是输入中给定的字符串 X。
- 如果 K=N,输出
.
JavaScript(node)代码:
const r = require("readline");
const rl =r.createInterface({
input:process.stdin,
output: process.stdout
});
rl.question('',(input)=>{
const [n,x,m,k] = input.split(" ");
handlePurchase(parseInt(n),x,parseInt(m),parseInt(k));
rl.close();
});
//根据输出格式编写函数
function handlePurchase(n, x, m, k) {
if(k == n){
console.log(`mei you mai ${x} de`);
}else if (k == m){
console.log(`kan dao le mai ${x} de`);
}else{
console.log(`wang le zhao mai ${x} de`);
}
}
.
复杂度分析:
-
时间复杂度:O(1)
-
空间复杂度:O(1)