- 特殊的数字
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。 输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
- 解答程序
import math
for i in range(100, 1000):
single = i % 10
ten = (i % 100) // 10
hundred = i // 100
if i == math.pow(single, 3) + math.pow(ten, 3) + math.pow(hundred, 3):
print(i)
- 经验教训 1、math提供pow可以快捷计算幂次。 2、//为整数除法,可以抹去小数点。
- 回文数
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式 按从小到大的顺序输出满足条件的四位十进制数。
- 解答程序
for i in range(1000, 10000):
sin = i % 10
ten = (i % 100) // 10
hun = (i % 1000) // 100
tho = i // 1000
if tho == sin and ten == hun:
print(i)
- 经验教训 无。
- 特殊回文数
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899
- 解答程序
# 特殊回文数
n = int(input())
for i in range(10000, 1000000):
sin = i % 10
ten = (i % 100) // 10
hun = (i % 1000) // 100
tho = (i % 10000) // 1000
wan = (i % 100000) // 10000
bil = i // 100000
number_sum = sin + ten + hun + tho + wan + bil
if bil == 0:
if n == number_sum:
if sin == wan and ten == tho:
print(i)
else:
if n == number_sum:
if sin == bil and ten == wan and hun == tho:
print(i)
- 经验教训 1、在已经做了一部分剪枝的情况下,CPU使用时间依然达到了671ms,比较危险。 2、可以考虑拆分for循环,先找出等于n的值,再考虑回文,不知道会不会有速度上的改进。
- 十进制转十六进制
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。 输入格式 输入包含一个非负整数a,表示要转换的数。0
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?