附表3 常见算法一览表-浙江高中信息技术知识点

2024-10-09
| 4页
| 214人阅读
| 8人下载
教辅
宁波诸事皆成教育科技有限公司
进店逛逛

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高三
章节 -
类型 学案-知识清单
知识点 -
使用场景 高考复习
学年 2024-2025
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 PDF
文件大小 283 KB
发布时间 2024-10-09
更新时间 2024-10-09
作者 宁波诸事皆成教育科技有限公司
品牌系列 -
审核时间 2024-10-09
下载链接 https://m.zxxk.com/soft/47832724.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

浙江高中技术培优算法(陶小波) 95 附表 3 常见算法一览表 判断质数 1 n = int(input("请输入一个数")) flag = True for i in range(2, n): if n%i==0: flag = False if flag: print(n, "是质数") else: print(str(n) + "不是质数") 判断质数 2 import math n = int(input("请输入一个数")) flag = True for i in range(2, int(math.sqrt(n))+1): if n % i == 0: flag = False if flag: print(n, "是质数") else: print(str(n) + "不是质数") 求 1-100 之间范围内质数 import math for i in range(2, 101): flag = True x=int(math.sqrt(i)) + 1 for j in range(2,x ): if i % j == 0: flag = False if flag: print(i) 输出乘法口诀表 s="" for i in range(1, 10): for j in range(1, i + 1): s=str(j) + " * " + str(i) + " = " s=s+ str(i * j) print(s, end=" ") print() 判断回文 1 n = input() if n != n[::-1]: print("不是回文") else: print("是回文") 判断回文 2 n = input() flag = True for i in range(0, len(n)//2): if n[i]!=n[len(n)-i-1]: flag = False if flag: print("是回文") else: print("不是回文") 2 进制=>10 进制方法 1 n=input() res=0 for i in range(0,len(n)): res=res+int(n[i])*2**(len(n)-i-1) print(res) 2 进制=>10 进制方法 2 n=input() res=0 for i in range(0,len(n)): res=res*2+int(n[i]) print(res) 浙江高中技术培优算法(陶小波) 96 10 进制转 2进制(原码) n=int(input()) res="" while n!=0: res=str(n%2)+res n=n//2 print(res) 10 进制转 16 进制 1(原码) n=int(input()) res="" root=["0","1","2","3","4","5","6","7", "8","9","A","B", "C","D","E","F"] while n!=0: res=root[n%16]+res n=n//16 print(res) 10 进制转 16 进制 2 n = int(input()) res = "" while n != 0: if n % 16 > 9: res =chr(n % 16+55)+res else: res = str(n % 16)+res n = n // 16 print(res) 10 进制转 2 进制(反码) 注: 例如 30 的原码是 11110,反码 00001 n=int(input()) res="" while n!=0: res=str(1-n%2)+res n=n//2 print(res) 求列表中最大值(不用 Max 函数版本): ls = [] for i in range(1, 101): # 随机生成 100 个 10-1000 的随机数 ls.append(random.randint(10, 1000)) max1 = ls[0] for i in range(1, 100): # 因为 ls 下标从 0 开始 if ls[i] > max1: max1 = ls[i] print(max1) 求列表中最小值(不用 Min 函数版本): ls = [] for i in range(1, 101): # 随机生成 100 个 10-1000 的随机数 ls.append(random.randint(10, 1000)) min1 = ls[0] for i in range(1, 100): # 因为 ls 下标从 0 开始 if ls[i] < min1: min1 = ls[i] print(min1) a=10 b=20 两值交换 1 t=a a=b b=t 两值交换 2 a,b=b,a 数字重组(将 1,2.3-4)5 变为数值型的 12345) s="1,2.3-4)5" res=0 for i in s: if "0"<=i<="9": res=res*10+int(i) print(res) 浙江高中技术培优算法(陶小波) 97 水仙花数 1 一个三位数的各个位上的立方之和等于 他本身 例如 1**3+2**3+3**3==123 说明 123 是个水仙花数 for i in range(100,1000): a=i%10 求个位 b=(i//10)%10 求十位 c=i//100 求百位 if a**3+b**3+c**3==i: print(i) 水仙花数 2 一个三位数的各个位上的立方之和等于他本身 例如 1**3+2**3+3**3==123 说明123是个水仙 花数 res = temp1 = 0 for i in range(100, 1000): temp1 = i res = 0 while temp1 != 0: res =res+(temp1%10)**3 temp1 = temp1 // 10 if res == i: print(i) 斐波那契数列(求前十项的和) n = int(input()) a, b, c = 0, 0, 1 sum1 = 0 for i in range(0, n ): a = b b = c c = a + b sum1 = sum1 + a print("第",n,"项",a) print("前",n,"项和",sum1) 角谷猜想: n=int(input()) count1=0 while n!=1: count1=count1+1 if n%2==0: n=n//2 else: n=n*3+1 print("变成 1 需要",count1,"步") 哥德巴赫猜想(每一个不小于 6的偶数都 是两个奇素数之和): def prime(x): #用于判断是否为质数的函 数 flag = True for i in range(2, x): if x % i == 0: flag = False return flag n = int(input()) for i in range(2, n-1): if prime(i) and prime(n - i): print(i, n - i) 辗转相除法(求最大公约数) a = int(input()) b = int(input()) x,y=a,b while b != 0: r = a % b a =b b = r t=a print("最大公约数",t) print("最小公倍数",x*y/t) 浙江高中技术培优算法(陶小波) 98 #字符处理: #有一串乱码 需要将其中的数字部分提取出 来。 #例如:a1b2c3d4, 要将其中的数字 1234 提 取出来(要求结果为数值型) s="a1b2c3d4" res="" for i in s: if "0"<=i<="9": res+=i print(int(res)) #字符处理 2: #有一串乱码 需要将其中的数字部分提取出 来。 #例如:9b9ca9, 要将其中的数字 999 提取 出来(要求结果为数值型) s="9b9ca9" res=0 for i in s: if "0"<=i<="9": res=res*10+int(i) print(res) #字符处理 3: #有一串乱码 需要将其中的数字部分提取出 来求和。 s="1a1b11c45," res=0 k=0 for i in s: if "0"<=i<="9": res=res*10+int(i) else: k=k+res res=0 print(k) #字符处理 4(移动位置,向右移动三位, A=>D,X=>A) #移动位置,一般都会使用% n=input() x=3 #向右移动几位 res=chr((ord(n)-65+x)%26+65) #移动位置 print(res) #字符处理 5(移动位置,向左移动三位, D=>A,A=>X) #移动位置,一般都会使用% n=input() x=-3 #向左移动几位 res=chr((ord(n)-65+x)%26+65) #移动位置 print(res) #字符统计(统计各个字母出现的次数) #字典:dic={姓名:”张三“} n=input() dic={} for i in n: if i not in dic: dic[i]=1 else: dic[i]+=1 print(dic)

资源预览图

附表3 常见算法一览表-浙江高中信息技术知识点
1
附表3 常见算法一览表-浙江高中信息技术知识点
2
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。