小明去附近的水果店买橙子,水果商贩只提供整袋购买,有每袋6个和每袋8个的包装(包装不可拆分)。可是小明只想购买恰好n个橙子,并且尽量少的袋数方便携带。如果不能购买恰好n个橙子,小明将不会购买。请根据此实现一个程序,要求:
输入一个整数n,表示小明想要购买n(1≤n≤100)个橙子
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个橙子则输出-1
例如,输入20,输出3。
#include <stdio.h>
#include<iostream>
using namespace std;
void main(void)
{
int n;
int m1, m2, m3;
cin >> n;
if (n <= 0 || n > 100) {
cout << -1 << endl;;
}
if (((n / 8) - (n / 6)) == 2 || ((n / 6) - (n / 8)) == 2) {
if (n % 8 == 0) {
cout << n / 8;
}
else cout << ((n / 8) + 1);
}
else if (((n % 8) - (n % 6)) == 2 || ((n % 6) - (n % 8)) == 2){
if (n % 8 == 0) {
cout << n / 8;
}
else cout << ((n / 8) + 1);
}
else if (n % 8 == 0) {
cout << n / 8;
}
else if (n % 6 == 0) {
cout << n / 6;
}
else
cout << -1 << endl;
system("pause");
}