目录
第一题
⼩⽩去附近店铺买橘⼦,⽬前商店做活动,提供捆绑打包销售,例如每袋3个和每
袋5个的形式出售。现⼩⽩只想购买n个橘⼦,同时想购买尽量少的袋数⽅便携带。如
果不能购买恰好n个橘⼦,就不会购买(可返回-1),求解输出最少的袋数。(例如:
18)
解析:尽量少的袋数,说明如果要15个,一定是三袋五个的,而不是五袋三个的。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
scanf("%d", &num);
if(num % 5 == 0)
printf("%d\n", num/5);
else
if((num - 3) % 5 == 0)
printf("%d\n", (num - 3) / 5 + 1);
else if((num - 6) % 5 == 0)
printf("%d\n", (num - 6) / 5 + 2);
else if((num - 9) % 5 == 0)
printf("%d\n", (num - 6) / 5 + 3);
else if((num - 12) % 5 == 0)
printf("%d\n", (num - 6) / 5 + 4);
else
printf("-1");
return 0;
}
第二题
⼩红去超市买玩具,⼝袋怀揣了n张钱,买了⼀个价值m的玩具。钱的⾯额可以
是1元、5元、10元、50元,⽽⼩红拥有的钱中有的⾯额可能没有,问,付钱的时
候,会有多少种可能的付费组合⽅式?
输⼊:输⼊两个数n(多少张钱),m(玩具的价格)
输出:请输出可能的组合⽅式数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n , m, sum = 0;
scanf("%d %d", &n, &m);
for(int i=0; i<=n; i++){
for(int j=0; j<=n; j++){
for(int k=0; k<=n; k++){
for(int l=0; l<=n; l++){
if(i + j + k + l <= n && i + 5*j + 10*k + 50*l == m){
printf("%d张1元,%d张5元, %d张10元, %d张50元\n", i, j, k, l);
sum++;
}
}
}
}
}
printf("%d\n", sum);
}
第三题
我们公司⽻⽑球队开始招新了,计划招收x⼈,每个⼈根据⽔平划分⾃⼰的级别 档位1~8级别 现计划按⼀下要求分成2个队伍(1队、2队) 1)1队的成员级别之和⼤于2对成员级别之和 2)1队的任意⼀名队员,如果分配他去到2队,1队的成员级别之和就会严格⼩于2对 成员级别之和 3)每个队员必须要加⼊⼀个队伍 现在有多少⽅案可以完成上⾯分配 例如招收4⼈,⽔平级别分别:5 4 7 6 有⼏种分队⽅案
#include <stdio.h>
#include <stdlib.h>
int n;
int num[10], flag[10];
int sum = 0;
int fun(int index){
if(index == n){
int sum1 = 0, sum2 = 0, Min = 8;
for(int i = 0 ; i < n ; i++){
if(flag[i] == 0){
sum1 += num[i];
}else{
sum2 += num[i];
}
if(flag[i] == 0 && Min > num[i]){
Min = num[i];
}
}
if(sum1 >= sum2 && sum1 - Min < sum2 + Min){
sum ++;
for(int i = 0 ; i < n ; i++){
printf("%d ", flag[i]);
}
printf("\n");
}
return 0;
}
for(int i = 0; i < 2; i++){
flag[index] = i;
index++;
fun(index);
index--;
}
}
int main()
{
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &num[i]);
}
fun(0);
}
第四题
系统设计题 1)请分析题⽬需求,给出你认为合理的技术⽅案,技术⽅案格式可参考原公司; 2)请充分通过题⽬展现你的设计⽅法,设计理念。对于关键的技术选型,给出适当注 解; 需求描述:设计⼀个服务,任何⼈调⽤这个服务,都返回⼀个unique id,不能重复; 参考:分布式唯一id · zhan 编程笔记https://note.grianchan.com/leetcode/%E5%85%B6%E5%AE%83/%E5%88%86%E5%B8%83%E5%BC%8F%E5%94%AF%E4%B8%80id.html