• 【面试题总结】第三篇


    我的博客中有一个系列,叫做【面试题总结】,这是这个系列的第三篇博文。
    这个系列会记录我曾经做过的面试题,每篇十道。随着以后我做的面试题越来越多,这个系列也会相应的持续更新下去。


    第一题

    题目描述

    康师傅饮料公司最近推出一种新款饮料。
    为了更好的促销,推出一项瓶盖换饮料,三个瓶盖可以兑换一瓶新的饮料。
    如果小明买了 n 瓶饮料,计算一下它最多能喝到多少瓶。

    输入描述

    初始饮料数量

    输出描述

    总共能喝到的饮料数

    示例 1

    输入

    9
    

    输出

    13
    

    提示

    9 个瓶盖可以换三个新饮料,三个饮料又可以换一瓶新的。
    9 + 3 + 1 = 13

    我的解答

    class Solution:
        def changeDrank(self, numCap):
            def change(numCap):
                num_gai = numCap
                new_shui = num_gai // 3
                rest_gai = num_gai - new_shui * 3
                if (rest_gai + new_shui) >= 3:
                    a = change(rest_gai + new_shui)
                    new_shui += a
                total = new_shui
                return total
            return numCap + change(numCap)
    
    if __name__ == "__main__":
        so = Solution()
        resu = so.changeDrank(9) # 13
    

    第二题

    题目描述

    小 A 的高次方程

    小 A 在做数学作业时看到了这样一个题目,求方程 $ x3+y4+z^5=k $ 的一组正整数解 (x, y, z)
    小 A 实在做不出来这道题,于是他找你帮忙写一个程序来解决这个问题。
    由于你希望小 A 的作业让他自己做,你只需要判断是否存在解即可。

    输入描述

    第一行一个正整数 T,表示数据组数;
    对于每一组数据,每行输入一个正整数 k。
    1 <= T <= 200, 1 <= k <= $ 10^{12} $。

    输出描述

    对于每一组数据,若解存在,输出一行 YES(不含引号),否则输出 NO(不含引号)。

    示例 1

    输入

    3
    3
    25
    2
    

    输出

    YES
    YES
    NO
    

    提示

    第一组数据,可以找到解 x = y = z = 1
    第二组数据,可以找到解 x = 2, y = 2, z = 1
    第三组数据,无法找到解。

    我的解答

    # 此题不会,答案不对
    if __name__ == "__main__":
        from itertools import combinations_with_replacement as com
        nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        com_resu = list(com(nums, 3))
        num = int(input())
        result = []
        for i in range(num):
            is_add = "NO"
            value = int(input())
            for x, y, z in com_resu:
                pow_sum = pow(x, 3) + pow(y, 4) + pow(z, 5)
                if pow_sum == value:
                    is_add = "YES"
                    break
            result.append(is_add)
        print("\n".join(result))
    
  • 相关阅读:
    (转)WinForm中的各种表格控件
    sql2005 单用户改为多用户sql语句
    使用sp_executesql执行动态SQL语句,同时向里面传入参数。
    visual studio 不能创建biztalk 项目
    sql2005 无法连接服务器 1433端口没有监听,但是本地帐户可以登陆
    visual studio运行时提示无法启动应用程序
    将表中的数据生成插入语句
    sql 补零方法
    正则表达式,动态生成小数点位数的验证
    “本地计算机上的SQL SERVER服务启动后又停止了”解决方法
  • 原文地址:https://www.cnblogs.com/junsircoding/p/15664995.html
Copyright © 2020-2023  润新知