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

江苏企业建网站排名优化深圳关键词自动排名

江苏企业建网站排名优化,深圳关键词自动排名,仿4493美图网站程序,交互做的好网站1.暴力枚举 给定一个正整数n,请找出所有满足a b n的整数对(a, b),其中a和b都是正整数,且a ≤ b。 输入格式:一个正整数n (1 ≤ n ≤ 10⁶) 输出格式:所有符合条件的(a, b)对,每行一对,按a的…

1.暴力枚举

给定一个正整数n,请找出所有满足a² + b² = n的整数对(a, b),其中a和b都是正整数,且a ≤ b。

输入格式:一个正整数n (1 ≤ n ≤ 10⁶)
输出格式:所有符合条件的(a, b)对,每行一对,按a的升序排列。如果没有符合条件的对,输出"No solution"。

问题分析:我们需要找到所有满足a² + b² = n的正整数对(a, b),其中a ≤ b。

枚举策略:由于a和b都是正整数且a ≤ b,a的最大可能值是√(n/2),因为如果a > √(n/2),那么a² > n/2,b² = n - a² < n/2 < a²,这将导致b < a,与a ≤ b矛盾。

算法选择:采用枚举算法,遍历a的所有可能取值,对于每个a,计算b² = n - a²,然后检查b是否为整数。

优化:在枚举a时,只需要枚举到√(n/2)即可,减少不必要的计算。

import mathdef find_num(n):result=[]max_a=math.isqrt(n//2)  #计算n//2的整数平方根for a in range(1,max_a+1):remainder=n-a*ab=math.isqrt(remainder)if b*b==remainder and b>=a:result.append((a,b))return resultn=int(input("请输入一个整数:"))
pairs=find_num(n)if not pairs:print("No solution")
else:for a,b in pairs:print(a,b)
input()

input()会读取用户输入的内容,并将其作为字符串返回。

例如,当用户在控制台输入 3 1 4 1 5 并按下回车键,input() 就会返回字符串 "3 1 4 1 5"

2.快速排序

def quick_sort(arr):if len(arr)<=1:return arrelse:mid=arr[0]left=[x for x in arr[1:] if x<=mid]right=[x for x in arr[1:] if x>mid]return quick_sort(left)+[mid]+quick_sort(right)arr=list(map(int,input().split()))sorted_arr=quick_sort(arr)print(" ".join(map(str,sorted_arr)))
input().split()

split() 会将一个字符串按照指定的分隔符(如果不指定分隔符,默认使用如空格作为分隔符)分割成多个子字符串,并返回一个包含这些子字符串的列表

input().split() 会把用户输入的字符串按空格分割成多个子字符串。

以上面的输入 "3 1 4 1 5" 为例,input().split() 会返回 ['3', '1', '4', '1', '5'],注意这里列表中的元素仍然是字符串类型。

map(int, input().split())

map() 接收两个参数:一个函数和一个可迭代对象(如列表、元组等)。

map() 函数会将传入的函数应用到可迭代对象的每个元素上,并返回一个迭代器,这个迭代器中的元素是原可迭代对象元素经过函数处理后的结果。

list(map(int, input().split()))

list() 是 Python 的内置函数,用于将一个可迭代对象转换为列表。

Python 列表推导式(List Comprehension) 

列表推导式是一种简洁的创建列表的方式,它允许你在一行代码中生成一个新的列表。

[expression for item in iterable if condition]
left = [x for x in arr[1:] if x <= pivot]
" ".join(map(str, sorted_arr))

join() 是字符串对象的一个方法,它的作用是将一个可迭代对象中的元素连接成一个字符串。调用该方法的空格字符串" " 会作为连接这些元素的分隔符。

3.归并排序

def merge(left, right):result = [] i = j = 0  while i < len(left) and j < len(right):if left[i] < right[j]:result.append(left[i]) i = i + 1  else:result.append(right[j])  j = j + 1  while i < len(left):result.append(left[i])i = i + 1while j < len(right):result.append(right[j])j = j + 1return resultdef merge_sort(arr):if len(arr) <= 1:return arrmid = len(arr) // 2left = merge_sort(arr[:mid])right = merge_sort(arr[mid:])return merge(left, right)weights = list(map(int, input().split()))sorted_weights = merge_sort(weights)print(" ".join(map(str, sorted_weights)))

4.桶排序

input_str = input()# 初始化桶
buckets = [0] * 26for char in input_str:# 计算字符对应的桶索引index = ord(char) - ord('a')buckets[index] += 1# 遍历 26 个桶
for i in range(26):# 如果桶中的计数不为 0,说明该字符出现过if buckets[i] > 0:# 根据索引计算对应的字符char = chr(i + ord('a'))# 输出字符及其出现次数print(f"{char}: {buckets[i]}")
http://www.dtcms.com/a/502486.html

相关文章:

  • 工装设计网站案例vi设计的基本要素
  • 石岩做网站哪家好建筑工程类招聘网站
  • 苏州知名高端网站建设在discuz做网站
  • 国外购物平台泰州网站建设方案优化
  • 个人网站可以直接做微信登陆吗rpg制作大师手机版
  • 做网站的出路互联网公司怎么盈利
  • 做网站前期费用怎么推广自己的网站?
  • 凤阳县城乡建设局网站wordpress 安装主题 无法创建目录
  • 网站的彩色标签怎么做的什么购物网站是正品而且便宜
  • 网站建设包括哪些内容深圳瑞仕建设公司
  • 网站音乐播放器源码太原有网站工程公司吗
  • 凡科建站微信小程序3d建模师可以自学吗
  • 网站管理员登陆域名哪里有好的免费成品网站程序
  • sns电商网站myeclipse怎样做网站
  • 网站建设培训公司哪家好wordpress10大插件
  • 做适合漫画网站的图片苏州比较好的建筑公司
  • 什么网站专门做自由行的c网站建设
  • 北京专业网站制作公司咨询类公司网页设计
  • 代刷网站怎么做公司网站建设模板下载
  • 手机微网站平台登录入口东营建设网站公司
  • 漯河专业做网站公司网站提交搜索引擎
  • 网站建设必备软件wordpress logo 标签
  • 马云不懂技术如何做网站dw个人网页模板
  • 巢湖网站开发站长平台验证网站
  • 长沙多迪php网站开发培训学校网站视觉设计规范
  • 做网站 会计分录网站建设实习目的
  • 徐州网站制作案例有口碑的常州网站建设
  • 开封网站建设-中企动力揭阳新闻最新消息
  • 山东建站建设网站要学编程吗
  • 唐山开发网站的公司电商网站如何避免客户信息泄露