首页 > 试题广场 >

买苹果

[编程题]买苹果
  • 热度指数:29063 时间限制: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 展开全文
头像 潜行者。
发表于 2025-03-05 15:35:14
#include <bits/stdc++.h> #include <vector> #define MAX_INF 0x999 using namespace std; int main() { int n; int ans = 0; cin &g 展开全文
头像 Ⅲ_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& 展开全文
头像 刷代码的长颈鹿
发表于 2025-02-12 17:08:55
#include <iostream> #include <vector> #include<algorithm> using namespace std; int main() { int N; while (cin >> N) { 展开全文
头像 bandiaoz
发表于 2024-12-18 16:32:49
解题思路 这是一道简单的数学问题,需要用6个和8个的组合来凑出目标数 。关键点是: 只能买6个装和8个装的包装 要求总数正好是 个 在满足条件的情况下,购买最少的袋子 如果无法凑出正好 个,返回 -1 解题步骤: 优先考虑使用8个装的袋子(因为8个装可以减少袋子总数) 对于剩余的苹果,尝试 展开全文
头像 走路被offer砸到
发表于 2024-08-11 21:12:24
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 Sawwwako
发表于 2024-09-25 22:17:35
#include <stdio.h> int canbuy(int a); int less(int a); int main() { int a; scanf("%d",&a); if(canbuy(a)) { 展开全文
头像 今日明日你
发表于 2025-03-06 20:39:06
#include <iostream> using namespace std; const int N = 100 + 10; int n, res, f[N]; int main() { cin >> n; for (int i = 0; i < 展开全文
头像 已注销
发表于 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 < 展开全文
头像 1omiga1
发表于 2025-02-27 19:07:38
import sys def get_apple_num(n: int): dp = [float('inf')] * (n + 1) if n % 2 != 0: return -1 dp[0] = 0 # 0 个苹果需要 0 个袋子 # 动态 展开全文