一个公司笔试题:出去旅游,只有固定的钱,住不同的旅店,最少可以住多少
来源:互联网 发布:淘宝二手iphone店铺 编辑:程序博客网 时间:2024/06/10 07:35
输入n个int数,[0,n-2]表示n-1个酒店的每晚价格,第[n-1]个元素是你拥有的钱。
要求输出,能住最少的天数,且钱必须刚好花完。
若不存在匹配情况,则返回-1.
输入描述
输入为一行。
共n个整数,最后一个数是拥有的钱数。以空格分隔。
输出描述
输出能住的最小天数,不存在则输出-1。
输入例子
1001 1002 1003 1004 1000
输出例子
-1
一下是自己写的一个C程序,仅供参考学习。
#include<stdio.h>//要求,出去旅游,只有1000块,住旅店,最少可以住多少void bubble_sort(int a[], int n)//冒泡排序{int i, j, temp; for (j = 0; j < n - 1; j++) for (i = 0; i < n - 1 - j; i++) if(a[i] > a[i + 1]) {temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;}}int p(int a[],int n){ int k=0,i; if(a[0]>a[n-1]) //判断最小的值是否大于当前的钱数,如果大于,则返回-1 return -1; else { for(i=n-2;i>=0;i--)//for循环用来依次从大到小的对比与剩下的钱数 { if(a[n-1]<a[i])//判断当前的价格是否大于当前的钱数,如果大于当前的钱数,则跳出此次循环,进入下次循环 continue; else { if(a[n-1]%a[i]==0)//如果不大于当前剩余的钱数,则判断是否可以干好把这个钱花完在当前的酒店 return k+a[n-1]/a[i];//如果可以花完当前的酒店,那么返回当前的天数; else//如果不能在当前的酒店刚好花完剩余的钱 { k+=(a[n-1]-a[n-1]%a[i])/a[i];//查看在当前酒店能够最多住几天,并且把天数加给k a[n-1]=a[n-1]%a[i];//除去花去的钱,赋值给当前的剩余的钱 } } } if(a[n-1]!=0)//当所有的酒店都遍历完成后,如果还不能恰好花完所给的钱,则返回-1,说明不能恰好花完 return -1; else return k;//如果当前的钱恰好花完,则返回能够住的最小的天数 }}int main(){ int num; int i=0,j; int arr[10],k; while(1){ //用来输入一行数据,用空格分开,以回车结束,前面的均为酒店价格,最后一个为当前所拥有的钱数 scanf("%d",&num); char c=getchar(); arr[i++]=num; if(c=='\n'){ break; } } //printf("%d\n",i);//用来测试当前的输入的数据的个数 bubble_sort(arr,i-1);//对输入的前n-1个数进行排序 k=p(arr,i);//取得返回值 printf("%d\n",k);//输出得到的最小的能够住的天数 //for(j=0;j<i;j++){//用来测试能否完整的存储进去,循环输出输入的数据 // printf("%d\n",arr[j]); //} return 0;}
0 0
- 一个公司笔试题:出去旅游,只有固定的钱,住不同的旅店,最少可以住多少
- 一个可以开源出去的平台
- 一个游戏公司的笔试题
- Trilogy公司的笔试题:用最少的步骤将数转为1
- Trilogy公司的笔试题:用最少的步骤将数N转为1
- 加州旅店的歌词
- LightOJ 1278 一个固定数可以换为几个连续数之和 求这样的连续数有多少对
- 据说是一个著名公司的笔试题目
- 搜狗笔试题~求圆上的点最多可以组成多少个钝角三角形
- 一些公司的笔试题
- 一些公司的笔试题
- Trilogy公司的笔试题
- Trilogy公司的笔试题
- LinkedHashMap实现一个固定容量的基于最近最少使用算法的缓存类
- [web前端笔试题]来自一个初创公司的笔试
- 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。
- ext3固定分区后可以设置inode的数量最大为多少?
- 公司将项目外包出去的经历(持续更新中...)
- PHP扩展开发之动态加载so模块与静态重编译PHP(上)
- python中的中文乱码问题的解决
- mysql explain 解释
- 【Android】可以下拉刷新的webview,使你的webview效果更加好看,封装自己的WebView
- 模式十三:代理模式(Proxy Pattern)——对象的替身
- 一个公司笔试题:出去旅游,只有固定的钱,住不同的旅店,最少可以住多少
- 第8周项目3-顺序串算法
- 项目 3 - 顺序串算法(1)
- JS运算符
- centos 安装 jdk
- 第八周项目3 c1的字符换为值为c2的字符
- Linux下的文件管理函数(带I/O缓冲)1.0
- 30个你不可不知的CSS选择器
- 如何修改手机字体,不影响APP