买多少袋苹果的问题

20190325
HKWS面试题目:小易买1-100个苹果,一带苹果只有6个装和8个装,买尽量少的袋数,一代不能分开,如果不能正好买就返回-1,能正好买就返回总袋数。
分析:
技术个苹果返回-1;
通过写前6-26个苹果发现如下规律,见程序。

#include <iostream>
using namespace std;
int f(int a);// 函数必须声明,前面的int为函数返回值类型,
//如果没有返回值用void.里面的int为输入参数类型,当多个参数的时候用逗号分开
int main()
{
	int n;
	cout<<"Please input the number of apples: "<<endl;
	cin>>n;
	cout<<f(n)<<endl;
}
int f(int a)
{
	
	if(a%2==1) return -1;
	a=a/2;
	if(a%4==0) return a/4;
	if(a%4==3||a%4==2&&a>=6||a%4==1&&a>=9)return a/4+1;
}

当时没有想出来,甚至连取余数的%都忘了,奇数偶数都不会判断了,傻了吧唧的,
希望自己能知耻而后勇。感谢面试官没有骂我。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值