首页 > 试题广场 >

买苹果

[编程题]买苹果
  • 热度指数:27935 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。

输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果


输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
示例1

输入

20

输出

3
头像 白伟仝
发表于 2020-07-24 18:27:52
6和8的最小公倍数是24,只要24就买3个8,其余几个值单列出来: import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Scanner 展开全文
头像 Ⅲ_Dc
发表于 2022-03-06 12:31:58
//贪心?买8个,最后求余数%8,余数为奇数,输出-1. //余数为偶,只会是2,4,6,0的情况,其中0和2只需要输出商n/8(把一袋8换6,总数不变)即可(但是要注意n=2,0的情况,应该-1),6,4,多换一袋8为6即可 ">#include<iostream> #include& 展开全文
头像 牛客136122074号
发表于 2023-11-13 14:43:10
#include <stdio.h> int main() { int n; int min; while (scanf ("%d\n", &n) != EOF) { min = 0; for (int i = 0; i < 展开全文
头像 牛客534030675号
发表于 2023-04-12 13:49:06
import sys data=int(sys.stdin.readline()) def love(max): for i in range(0,max+1): for j in range(0,max+1): if i*6+j*8==data: 展开全文
头像 小沐_
发表于 2022-04-28 21:16:55
import java.util.Scanner; /* 1、先排除小于6个的、为奇数个的和刚好是10个的 2、因为想购买最少袋,故此先试着全部购买8袋 3、上诉两个都排除的话,就必然是大于12的偶数, 这时对8进行除法,余数可能有2,4,6这三种情况, 需要向够8个的取2个(这时8就变 展开全文

问题信息

难度:
243条回答 25306浏览

热门推荐

通过挑战的用户

查看代码