網易程式設計題七,買蘋果(計算)
阿新 • • 發佈:2019-02-10
買蘋果(計算)
小易去附近的商店買蘋果,奸詐的商販使用了捆綁交易,只提供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;
}