1. 程式人生 > >網易程式設計題七,買蘋果(計算)

網易程式設計題七,買蘋果(計算)

買蘋果(計算)

小易去附近的商店買蘋果,奸詐的商販使用了捆綁交易,只提供6個每袋和8個每袋的包裝(包裝不可拆分)。 可是小易現在只想購買恰好n個蘋果,小易想購買儘量少的袋數方便攜帶。如果不能購買恰好n個蘋果,小易將不會購買。 

輸入描述:
輸入一個整數n,表示小易想購買n(1 ≤ n ≤ 100)個蘋果
輸出描述:
輸出一個整數表示最少需要購買的袋數,如果不能買恰好n個蘋果則輸出-1
輸入例子:
20
輸出例子:
3

程式碼:

#include <iostream>
using namespace std;

long long f(int n)
{
	if (n % 2)
return -1; n /= 2; if (n % 4 == 0)return n / 4; if (n % 4 == 3 && n >= 3 || n % 4 == 2 && n >= 6 || n % 4 == 1 && n >= 9)return n / 4 + 1; return -1; } int main() { int n; cin >> n; cout << f(n); return 0; }