C++ Code
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入例子:
20
输出例子:
3
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入例子:
20
输出例子:
3
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#include<stdio.h>
#include<stdlib.h> #include<math.h> int GetResult(int i) { int m, n; int min; int count[20]; int t = 0; for (m = 0; m < i; m++) { for (n = 0; n < i; n++) { if ((m * 6 + n * 8) == i) { count[t++] = (m + n); } } } if (t == 0) { return -1; } else { min = count[0]; for (m = 1; m < t; m++) { if (min > count[m]) min = count[m]; } return min; } } int main(void) { int i; int result; printf("请输入苹果总数\n"); scanf("%d", &i); result = GetResult(i); printf("%d", result); } |