当前位置: 首页 > news >正文

python_study--week3

1.求特殊自然数

题目描述

一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。

输入格式

三行: 第一行是此自然数的十进制表示; 第二行是此自然数的七进制表示; 第三行是此自然数的九进制表示。

输出格式

样例输入

样例输出

程序代码

for a in range(1,7):for c in range(1,7):b = 24*a-40*cif 0<=b<=6:decimal = 49*a + 7*b +cbase7 = f"{a}{b}{c}"base9 = f"{c}{b}{a}"print(decimal)print(base7)print(base9)exit()

设七进制数为abc(a不为零,因为a在百位上),九进制数为cba(同理c也不为零),所以a和c的取值范围为从1--6,因为abc都是七进制数,七进制数逢7进1,所以a,b,c都不能超过7,b的取值范围为0--6(b在中间,可以为零)。由题意可得七进制与九进制的三位数码表示顺序正好相反,则可以列出等式49a + 7b + c = 81c + 9b + a,进一步简化为24a - b - 40c = 0,即b = 24a - 40c。

打印结果后,用 exit() 终止程序(因为题目中这样的数唯一,无需继续循环)

2.统计满足条件的4位数个数

题目描述

给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。

输入格式

输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n <= 100)

输出格式

输出为一行,包含一个整数,表示满足条件的四位数的个数。

样例输入

5
1234 1349 6119 2123 5017

样例输出

3

程序代码

n = int(input())
number = list(map(int,input().split()))
count = 0
for num in number:a = num // 1000 #千位b = (num // 100) % 10 #百位c = (num // 10) % 10 #十位d = num % 10 #个位if d-a-b-c > 0:count+=1
print(count)

3.级数求和

题目描述

已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。

现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。

输入格式

一个整数K。

输出格式

一个整数n。

样例输入

1

样例输出

2

程序代码

k = int(input())
sum = 0.0
n = 0
while sum <= k:n += 1sum += 1/n
print(n)

4.分离整数的各个数位

题目描述

给定一个整数,要求从个位开始分离出它的每一位数字。

输入格式

输入一个整数,整数在1到100000000之间。

输出格式

从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。

样例输入

123

样例输出

3 2 1

程序代码

n = int(input())
digits = [] #定义了一个列表
while n >0 :digit = n % 10 #取个位数digits.append(str(digit)) #将每次取到的个位数加到列表中n = n // 10
print(' '.join(digits))

str() 是 Python 的类型转换函数,用于将整数 digit 转换为字符串类型。

这里转换为字符串的目的是为了后续使用 ' '.join(digits) 拼接时,能直接按字符串格式处理(join() 方法要求列表元素是字符串类型)。

5.数字反转

题目描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入格式

输入共 1 行,一个整数N。 -1,000,000,000 ≤ N≤ 1,000,000,000。

输出格式

输出共 1 行,一个整数,表示反转后的新数。

样例输入

123

样例输出

321

程序代码

N = int(input())
if N < 0:numbers = -int(str(-N) [::-1])
else:numbers = int(str(N)[::-1])
print(numbers)

用到了字符串切片操作

image-20251030123001132

6.开关灯

题目描述

假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。

第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。

请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。

输入格式

输入正整数N和M,以单个空格隔开。

输出格式

顺次输出关闭的灯的编号,其间用逗号间隔。

样例输入

10 10

样例输出

1,4,9

程序代码

N,M = map(int,input().split())
'''
初始时所有的灯都处于开启状态
创建了一个lights列表用来存储灯的状态,用True表示开,False表示关。下标从1开始对应,0不用,所以是到N+1
'''
lights = [True] * (N+1)
#第一个人将灯全部关闭
for i in range(1,N+1):lights[i]=False
#从第二个人开始,此后的人都对自己编号倍数的灯做相反处理
for person in range(2,M+1):for lamp in range(person,N+1,person): #操作所以编号为当前人员编号倍数的灯lights[lamp] = not lights[lamp] #状态反转
closed = [str(i) for i in range(1,N+1) if not lights[i]]
print(','.join(closed))

range的格式是:range(起始值, 结束值, 步长)

7.求分数序列和

题目描述

有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。

输入格式

输入有一行,包含一个正整数n(n <= 30)。

输出格式

输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。

样例输入

2

样例输出

3.5000

程序代码

n = int(input())
total = 0.0
q, p = 2, 1
for _ in range(n):total += q/pold_q = qq = q +pp = old_q
print("{0:.4f}".format(total))

8.计算分数加减表达式的值

题目描述

编写程序,输入n的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ... + (-1)n-1·1/n 的值。

输入格式

输入一个正整数n。1 <= n <= 1000。

输出格式

输出一个实数,为表达式的值,保留到小数点后四位。

样例输入

2

样例输出

0.5000

程序代码

n = int(input())
total = 0.0
for i in range(1,n+1):total += ((-1)**(i-1))*(1/i)
print("{0:.4f}".format(total))

9.[编程入门]阶乘求和

题目描述

求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。

输入格式

n

输出格式

Sn的值

样例输入

5

样例输出

153

程序代码

n = int(input())
sn = 0
factorial = 1
for i in range(1,n+1):factorial *= isn += factorial
print(sn)

10.求出e的值

题目描述

利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。

输入格式

输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。

输出格式

输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。

样例输入

10

样例输出

2.7182818011

程序代码

n = int(input())
total = 1.0
factorial = 1
for i in range(1,n+1):factorial *=itotal += 1/factorial
print("{0:.10f}".format(total))

11.计算多项式的值

题目描述

假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。

输入格式

输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n <= 1000000。

输出格式

输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在float范围内。

样例输入

2.0 4

样例输出

31.00

程序代码

x,n = input().split()
x = float(x)
n = int(n)
if x==1.0:total = n+1.0
else:total = 1.0term = 1.0for _ in range(n):term *= xtotal +=term
print("{0:.2f}".format(total))

12.数1的个数

题目描述

给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。

例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。

输入格式

正整数n。1 <= n <= 10000。

输出格式

一个正整数,即“1”的个数。

样例输入

12

样例输出

5

程序代码

n = int(input())
total = 0
for i in range(1,n+1):total += str(i).count('1') #count统计字符串中 '1' 出现的次数
print(total)

13.与7无关的数

题目描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n(n < 100)的与7无关的正整数的平方和。

输入格式

输入为一行,正整数n(n < 100)。

输出格式

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

样例输入

21

样例输出

2336

程序代码

n = int(input())
total = 0
for i in range(1,n+1):if i % 7 !=0 and i % 10 != 7 and i // 10 != 7:total += i**2
print(total)

小结:这周刷的题有些有点难度(对现阶段的我而言)就有点耐不住性子看不下去,心静不下来有些浮躁,然后这周刷的题也不多,周五周六周日玩爽了【gs】怪我太会奖励自己了。下周开始我一定在状态(zuihaoshi)。然后下周要学点java的语法,嗯对。

http://www.dtcms.com/a/561038.html

相关文章:

  • 【Excalidraw】简洁好看的超轻量级画图白板
  • 手写Autosar架构的CAN通讯协议栈2(CanIf模块详解-上)
  • 【Agentic RL 专题】三、深入浅出强化学习算法 TRPO 和PPO
  • 中国最好的建站公司毕业设计模板
  • 《算法通关指南:数据结构和算法篇 --- 栈相关算法题》--- 1. 【模板】栈,2.有效的括号
  • 高效管理搜索历史:Vue持久化实践
  • html网站架设目录和文章wordpress
  • Rust 编程语言基础知识全面介绍
  • 洛龙区网站制作建设费用做网站一般用什么语言
  • 计算机网络---基础诊断ping
  • 13.2.2.Nginx
  • java后端学习经验分享(大三进大厂版)
  • 好用的镜像源
  • 做网站的经验有什么好的加盟店项目
  • linux-shell-基础与变量和运算符-1
  • 论文解读:Sleeping with One Eye Open: Fast, Sustainable Storage with Sandman
  • 手机客户端网站建设腾讯云服务器免费领取
  • Gorm(十三)主从表的判断
  • 从零开始的云原生之旅(十):HPA 完全指南:从原理到实践
  • 注册网站费属于什么费用模板公司
  • MYSQL-多种方法安装部署
  • 做网站要学哪些代码上海资本公司排名
  • 认识多线程:单例模式
  • 深入解析 HarmonyOS 中 NavDestination 导航目标页的生命周期
  • 3、webgl 基本概念 + 绘制线段 + 绘制三角形
  • 【LeetCode热题100(58/100)】单词搜索
  • 旅行社网站模版网页设计六安模板
  • 求解器驱动智能决策新纪元
  • 简单网站制作成品广东省广州市佛山市
  • 使用 TransGPTex 将 LaTeX 英文论文翻译成中文:完整实战教程