【kickstart 2018 round A】 Even Digits Python 解题思路

题目链接:

解题思路:
给定一个数字(假设位数为n),向下查找小于该数且每一位都是偶数,应该是n个8;向上查找大于该数且每一位都是偶数。从头开始,找到第一个不是偶数的位,若该位是9,则应往下找。

T=int(input())
for tt in range(T):
    num=int(input())
    num_str=str(num)
    n=len(num_str)
    min_ans=num
    if num==1:
        min_ans=1
    else:
        if num_str[0]=='1':
            down='8'*(n-1)
            top='2'+'0'*(n-1)
            diff_down=num-int(down)
            diff_top=int(top)-num
            min_ans=min(diff_top,diff_down)
        elif num_str[0]=='9':
            down='8'*n
            top='2'+'0'*n
            diff_down=num-int(down)
            diff_top=int(top)-num
            min_ans=min(diff_top,diff_down)
        else:    
            if n>1:
                for i in range(n):
                    if int(num_str[i])%2!=0:
                        down=num_str[:i]+str(int(num_str[i])-1)+'8'*(n-i-1)
                        diff_down=num-int(down)
                        if int(num_str[i])!=9:
                            top=num_str[:i]+str(int(num_str[i])+1)+'0'*(n-i-1)
                            diff_top=int(top)-num
                            min_ans=min(diff_top,diff_down)
                        else:
                            min_ans=diff_down
                        break
                if min_ans==num:
                    min_ans=0           
            else:
                if num%2==0:
                    min_ans=0
                else:
                    min_ans=1
        
    print("Case #{}: {}".format(tt+1, min_ans)) 
Python3-kickstart是一个用于快速启动Python 3项目的工具。它提供了一系列的命令和模板,帮助开发者在短时间内建立稳定可用的Python项目。 Python3-kickstart的主要功能包括: 1. 创建虚拟环境:它允许用户在项目目录中创建一个独立的Python虚拟环境,以避免项目之间的依赖冲突。 2. 安装依赖:它可以自动安装项目所需的依赖库,通过读取项目的requirements.txt文件,节省了手动安装每个依赖库的步骤。 3. 生成配置文件:它提供了一个命令来生成常见的配置文件,如settings.py或config.py。这些配置文件包含了项目中的常用设置,例如数据库配置,日志记录等。 4. 创建基本结构:它可以帮助用户快速创建项目的基本目录结构,包括主应用程序目录、测试目录、静态文件目录等。 5. 自动生成命令:它可以通过读取项目中的代码,生成命令行工具或管理命令,以便用户可以轻松地执行项目相关的任务,如数据库迁移、数据导入等。 6. 提供模板:它提供了一些预定义的模板,可以用作新项目的起点。这些模板包含了一些常用的功能,如用户认证系统、RESTful API等,以减少开发者的工作量。 总结来说,Python3-kickstart是一个强大的工具,可以帮助Python开发者快速启动项目并提高开发效率。无论是创建项目的基本结构,安装依赖库,生成配置文件,还是自动生成命令,它都能帮助开发者省去重复工作,集中精力于开发核心功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值