算法设计与分析 第一章 基础知识作业1

article/2025/10/28 17:45:45

目录

    • 算法分析题
      • 1.1 函数的渐进表达式
      • 1.3 证明对于任何实数x和整数a,b,n:
      • 1.7 函数渐进阶
    • 算法实现题
      • 1.1 统计数字问题
      • 1.3 最多约数问题

算法分析题

1.1 函数的渐进表达式

求下列函数的渐近表达式:3n2+10n; n2/10+2n; 21+1/n; logn3; 10log3n
在这里插入图片描述

1.3 证明对于任何实数x和整数a,b,n:

在这里插入图片描述
在这里插入图片描述

1.7 函数渐进阶

对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=Θ(g(n)),并简述理由。
(1)f(n)=logn2; g(n)=logn+5
(2)f(n)=logn2; g(n)=√n
(3)f(n)=n; g(n)=log2 n
(4)f(n)=nlogn+n; g(n)=logn
(5)f(n)=10; g(n)=log10
(6)f(n)=log2 n; g(n)=logn
(7)f(n)=2n; g(n)=100n2
(8)f(n)=2n; g(n)=3n
在这里插入图片描述

算法实现题

1.1 统计数字问题

问题描述:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6页用数字6表示,而不是06或006等。数字计数问题是要求对给定书的页码n,计算出书的全部页码分别用多少次数字0,1,2,…,9。
编程任务:给定表示书的总页码的十进制整数n(1≤n≤≤10^9)。编程计算书的全部页码中分别用到多少次数字0, 1, 2,…,9。
数据输入:输入数据由文件名的input.txt的文本文件提供。每个文件只有1行,给出表示书的总页码的整数n。
结果输出:程序运行结束时,将计算结果输出到文件output.txt中。输出文件共有10行,在第k行输出页码中用到数字k-1的次数,k=1,2,…,10。
输入文件示例 输出文件示例
Input.txt output.txt
11 1
4
1
1
1
1
1
1
1
1

# -*- coding: utf-8 -*-
# @Time    : 2021/3/16 10:59
# @Author  : 拔牙不打麻药
# @FileName: HW1_test1.py
# @Software: PyCharmimport osinput_address = "./input.txt"
output_address = "./output.txt"
# 打开写好的output.txt 里面是11,表示11页
with open(input_address,"r") as f:for i in f.readlines():pages = iarray=[[0,1,2,3,4,5,6,7,8,9],[0,0,0,0,0,0,0,0,0,0]]#从第一页到pages页分别求每个数字
for i in range(1,int(pages)+1):j=iwhile j > 0:k = j % 10#print(k)m = 0for m in range(10):if  array[0][m] == k:array[1][m] = array[1][m]+1j = j // 10#输出到output.txt
with open(output_address,"w") as f:for i in range (10):f.write(str(array[1][i]))f.write("\n")

在这里插入图片描述

在这里插入图片描述

1.3 最多约数问题

问题描述:正整数x的约数是能整除x的正整数。正整数x的约数个数记为div(x)。例如,1,2,5,10都是正整数10的约数,且div(10)=4。设a和b是2个正整数,a≤b,找出a和b之间约数个数最多的数x。
编程任务:对于给定的2个正整数a≤b,编程计算a和b之间约数个数最多的数。
数据输入:输入数据由文件名为input.txt的文本文件提供。文件的第1行有2个正整数a和b。
结果输出:程序运行结束时,若找到的a和b之间的约数个数最多的数是x,则将div(x)输出到文件out.txt中。
输入文件示例 输出文件示例
Input.txt output.txt
1 36 9

# -*- coding: utf-8 -*-
# @Time    : 2021/3/17 18:44
# @Author  : 拔牙不打麻药
# @FileName: HW1_test2.py
# @Software: PyCharminput_address = "./input1.txt"
output_address ="./output1.txt"with open(input_address,"r") as f:str1 = str(f.readline())a,b = str1.split(" ")
a = int(a)
b = int(b)
max = 0 #目前拥有公约数最多的数字
div = 0 #目前拥有最多的公约数数目for i in range(a,b+1):flag = 0number = ifor j in range(1,number+1):if number % j == 0:flag += 1if flag > div:max = numberdiv = flagwith open(output_address,"w") as f:f.write(str(div))

在这里插入图片描述
在这里插入图片描述


字有点丑…以上是我自己做的,可能会有很多错误,等阳老师讲过题再过来改嘎嘎嘎。今天为了写算法的作业晚晚下班了15551


3.22更新
已经订正了,比不出阶的大小可还行。


http://chatgpt.dhexx.cn/article/r3bjG4eC.shtml

相关文章

USTC算法设计与分析-总结

《算法设计与分析》是中国科学技术大学计算机专业的研究生学科基础课,黄刘生老师讲概率算法和近似算法,汪炀老师讲分布式算法,因为课程内容繁杂且难度较大,所以结合了上课所做笔记和期末复习总结成思维导图,梳理下思路…

《算法设计与分析基础》第2版

今天开始学习《算法设计与分析基础》这本书,书中提及的算法均会在后续博客实现。 清华大学出版社。

算法设计与分析重点总结

考试题型: 选择 2* 10个 填空2* 10个 简答 3* 4个 程序分析填空 4* 4个 综合(代码)8* 4个 第一章基础知识 1.算法的定义 算法就是解决问题的方法,是解决某一特定问题的一组有穷指令的序列,是完成一个任务所需要的具…

算法设计与分析基础 第八章谜题

习题8.1 6.切割木棍问题 为下列问题设计一个动态规划算法。已知小木棍的销售价格pi和长度i相关,i1,2,…,n,如何把长度为n的木棍切割为若干根长度为整数的小木棍,使得所获得的总销售价格最大?该算法的时间效…

算法设计与分析基础(三)

算法设计与分析基础(三) 练习题 根据下列函数的增长次数按照从低到高的顺序对他们进行排序。 解答: 解答: 即,该多项式的始终值为ak*n^k,则结论成立。 考虑下面的算法: 算法Mystery(m) //输入:非负整数n S←0 for i←1 to …

算法设计与分析基础

To All Of You: 一个人在接受科技教育时能得到的最珍贵的收获是能够终身受用的通用智能工具。 在讨论算法的书籍中,一般会采用两种方案中的一种: 1.第一种方案是按照问题的类型对算法进行分类。这类教材安排了不同的章节分别讨论排序&…

第一章 算法设计与分析基础知识

系列文章目录 第一章 算法设计与分析基础知识 第二章 算法的分治策略 第三章 算法的动态规划 第四章 算法的贪心法 …… [TOC](这里写目录标题) # 一级目录 ## 二级目录 ### 三级目录 参考教材 《算法设计与分析(第2版)》是由屈婉玲、刘田、张立昂、王…

算法设计与分析——算法分析基础

算法分析主要是时间复杂度和空间复杂度的两个方面的分析 此处带着问题小预告一把: 时间复杂度?空间复杂度? 大O、大和大分别表示什么? 如何得到递归方程?如何求解递归方程呢? 带着问题来探索吧~ 目录…

算法设计与分析(1)——基础知识

写完 Java 的我又开始对 算法设计与分析 下手了(✿◡‿◡) 内容主要是以 北京大学 屈婉玲老师的 MOOC 视频来写的,视频共是十周的内容,我决定用 五 篇博客完成。 温馨提示:这个课程不仅适用于 算法设计与分析 的学习,也非常适用…

算法设计与分析——算法基础初步了解

算法的概念 算法:一个有计算步骤构成的序列,可以将一组输入值转换成相应的输出值。或可以用例解决一个明确的问题。 问题:输入及相应输出的描述: 算法的特点:确定性、可行性、输入和输出及有穷性。 正确的算法;停机并…

算法设计与分析基础知识

一、算法设计基础 算法是(algorithm)是对特定问题求解步骤的一种描述,是指令的有限序列。 算法的五个特性: 输入:一个算法可以有零个或多个输入。 输出:一个算法有一个输出或多个输出。 有穷性(…

为你的股票绘制趋势图

手里有一点点公司的股票, 拿不准在什么时机抛售, 程序员也没时间天天盯着看,不如动手写个小程序, 把股票趋势每天早上发到邮箱里,用 python 的 pandas, matplotlib 写起来很容易, 几十行代码搞定。 准备环…

用PYTHON画图 看股票/数字货币的趋势分析 带你直观理解指标 K线图

用PYTHON画图 看股票/数字货币的趋势分析 带你直观理解指标 本文章将用PYTHON 画图 以比特币(BTC)为例 进行画图分析 (小白向) Pycharm平台编写 所用到的python库 import requests from lxml import etree import math import …

Plotly中绘制三种经典的股票交易图表(含视频讲解)

作者:Lemon 来源:Python数据之道 Plotly中绘制三种经典的 股票交易图表(含视频讲解) 大家好,我是 Lemon 。 背景 前一段时间, Lemon 发了一期视频,分享了 Plotly 和 Dash 在投资领域的应用案例。…

如何在股票软件画波浪?波浪原理?初级应用画线

如何在股票软件画波浪?波浪原理?初级应用画线 听语音 浏览:1|更新:2018-03-13 10:07|标签:股票 1 2 3 4 5 6 7 分步阅读 波浪理论最主要特征就是它的通用性,在股市中是一个十分重要的技术研究方向,一旦成…

使用Python生成股票K线图

可视化股票数据,这里只做简单的处理,只显示k线图。选取的是海通证券(600837)2020年1月1日之后150个交易日的数据。这里代码不多,没有封装成方法,代码如下。数据是提前获取的,获取方法见&#xf…

Python获取股票数据并绘制相应K线图,看这个就够了!

Python对股票的K线可视化 前言说明注意 数据获取Tushare获取股票数据获取医疗器械板块数据(代码部分)获取股票数据(代码部分) 数据预处理变量中文化(代码部分) K线绘制代码部分结果展示 写在最后 前言 说明…

使用mpl_finance画股票K线图

使用mpl_finance画股票K线图 前言正文 前言 今天给大家介绍一下如何利用 python 中的 mpl_finance 模块画股票K线图。 该模块在 matplotlib 2.0之前是叫做 matplotlib.finance 但此之后是叫做 mpl_finance。 详细介绍请看https://matplotlib.org/api/finance_api.html 。具体用…

Python画图实战之画K线图【附带自动下载股票数据】

关于Python画图的基本知识可以先查看下面这篇文章Python画图(直方图、多张子图、二维图形、三维图形以及图中图)https://blog.csdn.net/weixin_41896770/article/details/119798960 对于股民来说,K线图是最常见的一种参考,使用Pyt…

一步一步教你写股票走势图——K线图二(图表联动)

目录 一步一步教你写股票走势图——分时图一(概述) 一步一步教你写股票走势图——分时图二(自定义xy轴) 一步一步教你写股票走势图——分时图三(对齐图表、自定义柱状图高亮) 一步一步教你写股票走势图…