OI赛题:汽水瓶问题

简介: OI赛题:汽水瓶问题

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?


首先定义变量:空瓶的数量empty,总共喝掉的汽水瓶数total。


当拥有的汽水瓶数量大于等于3时进入循环模拟交换的操作。如第一次进入循环,能交换到的汽水数量等于空瓶数量除3取整(empty/3),此时我们手里拥有的气瓶数量为交换到的气瓶数量empty/3再加上我们交换所剩的气瓶数(即empty%3,假设有5个气瓶交换了3个还剩下2个未能交换).当空瓶(empty)数量大于等于3时继续进入第二次循环,直到空瓶数量少于3为止。


注意题目最后的提示,拥有两个瓶子时可以找老板借汽水,然后将三个瓶子换的汽水还给老板(老板表示很凎!)即当空瓶数量等于2的时候直接让所喝的汽水数量(total)加上一。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int empty = 0;              //对空瓶进行定义
    int total = 0;              //对总计所喝的汽水数量进行定义
    scanf("%d", &empty);
    while (empty >= 3)          //循环条件为空瓶数量大于或等于3
    {
        total += empty / 3;     //交换所得到的汽水
        empty = empty / 3 + empty % 3;     //拥有的空瓶数
        if (empty == 2)         //当剩下的空瓶数为2的时候可再喝一瓶
            total += 1;
    }
    printf("total=%d", total);  //输出结果
    return 0;
}

下图是测试例子,所用的编译器为VS2022

目录
相关文章
|
5月前
【OI赛题】汽水瓶
OI赛题——汽水瓶
33 0
【OI赛题】汽水瓶
|
7月前
|
Java 数据挖掘 Go
JCR一区7.7分|单细胞联合bulk-seq的线粒体自噬,分析方法都挺好
这篇文章介绍了研究者通过分析单细胞和Bulk RNA测序数据,鉴定出18个与胃癌(GC)进展相关的线粒体自噬相关基因(MRG),并建立了基于这些基因的预后模型。研究发现GABARAPL2和CDC37可能是GC的预后标志物和潜在治疗靶点。此外,分析揭示了细胞间通讯模式和免疫浸润状态,暗示MRG可能影响GC的免疫治疗响应。整体而言,这项工作为GC的诊断和治疗提供了新见解。
136 0
|
机器学习/深度学习 自动驾驶 数据挖掘
实战教程 | ECCV 2022 Out Of Distribution 分类赛道冠军方案解读
实战教程 | ECCV 2022 Out Of Distribution 分类赛道冠军方案解读
515 0
|
搜索推荐 算法 开发者
Lec6 推荐系统评测| 学习笔记
快速学习 Lec6 推荐系统评测。
Lec6 推荐系统评测| 学习笔记
PTA 7-5 实验室使用排期 (25 分)
假设规定任何一个时间点上,实验室内最多只能有 1 个人,且每个人都必须提前申请实验室的使用,只有申请被批准后才能进入。
98 0
|
测试技术
PTA 1004 成绩排名
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
99 0
PTA 7-5 买地攻略 (25 分)
数码城市有土地出售。待售的土地被划分成若干块,每一块标有一个价格。这里假设每块土地只有两块相邻的土地,除了开头和结尾的两块是只有一块邻居的。每位客户可以购买多块连续相邻的土地。
132 0
|
关系型数据库
PTA 1080 MOOC期终成绩 (25 分)
对于在中国大学MOOC(www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。
111 0
|
机器学习/深度学习 数据采集 自然语言处理
2022搜狐校园 情感分析 × 推荐排序 算法大赛 baseline
2022搜狐校园 情感分析 × 推荐排序 算法大赛 baseline
808 0
2022搜狐校园 情感分析 × 推荐排序 算法大赛 baseline
|
人工智能
【训练题解】UPC Card Eater (思维)
【训练题解】UPC Card Eater (思维)
44 0