zoukankan      html  css  js  c++  java
  • 【蓝桥杯训练】第二天1255、1258

    1255

    [蓝桥杯2015初赛]饮料换购

    乐羊羊饮料厂正在举办一次促销优惠活动。
    乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
    请你计算一下,如果小明不浪费瓶盖,尽量地参加活动。
    那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
    输入
    输入存在多组测试数据
    每组测试数据输入一行包含一个正整数n(1<=n<=10000)
    输出
    对于每组数据输出一行,包含一个整数,表示实际得到的饮料数
    样例输入 Copy
    100
    101
    样例输出 Copy
    149
    151

    注意

    不允许暂借或赊账,及先要能-3,才能+1

    算法

    1. 直接按照题目的逻辑出发,-3后判断n的正负
    2. n 为正,瓶盖数++,当前未使用瓶盖数++;
    3. n 为负,即退出

    题解

    def f(n):
        res = n
        while True:
            n = n - 3
            if n >= 0:
                res = res + 1
                n = n + 1
            else:
                break
        print(res)
     
    while True:
        f(int(input())) 
    



    1258

    [蓝桥杯2015初赛]奖券数目

    有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
    虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。
    某抽奖活动奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码。
    主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
    输出
    请提交该数字(一个整数),不要写任何多余的内容或说明性文字。

    注意

    此处利用了python扫描字符串,以及in关键字

    算法

    直接枚举,利用函数筛选

    题解

    结果:print('52488')

    def f(data):
        array = [i for i in str(data)]
        if '4' in array:
            return False
        else:
            return True
    res = 0
    for i in range(10**4,10**5):
        if f(i):
            res = res + 1
    print(res)
    
  • 相关阅读:
    每天学习算法二
    每天学习算法 一
    数据量基础
    SQL server数据库创建代码,filegroup文件组修改,
    SQL学习笔记之 数据库基础(一)
    Oracle的查询-条件表达式
    Oracle的查询-单行查询
    Oracle 的查询-scott用户介绍
    Oracle的基本操作-序列的使用
    Oracle的基本操作-修改表结构、数据的增删改查
  • 原文地址:https://www.cnblogs.com/yanshanbei/p/12210740.html
Copyright © 2011-2022 走看看