自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 Python计算几何

计算几何是研究空间中点、线、面等图形的性质和变换的一门数学学科。在计算机科学中,计算几何主要涉及算法设计和实现,以解决与几何相关的问题。Python作为一门强大的编程语言,也可以用来实现计算几何算法。下面是一些常见的计算几何算法及其Python实现。

2023-03-22 22:09:07 1291

原创 Python字符串算法

字符串算法是计算机科学中的一种算法,用于处理文本字符串数据。字符串算法可以用于搜索、匹配、排序、压缩、加密等各种操作。Python提供了许多字符串算法,下面我将简单介绍一些常用的字符串算法及其Python实现。

2023-03-22 22:08:43 576 1

原创 Python概率论

概率论是数学的一个分支,它研究随机事件的概率和统计规律。在Python中,有很多强大的概率统计库可以帮助我们进行概率计算和数据分析,比如NumPy、SciPy和Pandas等库。下面我将为您介绍一些基本的概率概念以及如何在Python中实现它们。

2023-03-22 22:08:18 1531

原创 Python博弈论

博弈论是一种研究决策制定和行为互动的数学理论。在博弈中,有两个或多个人或团体在制定策略,并采取相应的行动,以达到自己的目标。博弈论通过数学模型和分析,帮助我们理解和解决各种决策和交互问题。Python是一种通用的编程语言,具有丰富的库和工具,可用于实现博弈论中的数学模型和算法。

2023-03-18 18:33:52 1295 2

原创 Python数论

数论(Number theory)是研究整数和整数之间的关系和性质的一门学科。它涉及到许多重要的数学概念和算法,例如素数、约数、最大公约数、同余等。在计算机科学领域中,数论被广泛应用于加密算法、随机数生成、校验码生成等方面。

2023-03-18 02:57:54 410

原创 Python图论

图论是研究图的性质、结构和算法的数学分支,图被广泛应用于计算机科学、信息学和其他领域。在图论中,图是由节点和边组成的一种数据结构,它被用来描述各种复杂系统的结构,例如社交网络、交通网络、电路等。:图中的基本单元,也称为顶点(vertex)。:连接两个节点的线段,也称为弧(arc)或者链接(link)。:所有的边没有方向,例如交通网络。:所有的边都有一个方向,例如电路。:表示两个节点之间的距离或者代价,例如道路的长度、网络的延迟等。:从一个节点到另一个节点所经过的一系列边。:起点和终点相同的路径。

2023-03-18 02:38:14 668

原创 Python动态规划

给定一个序列,求其中的一个最长递增子序列,即序列中的一段连续子序列,使得其中的元素按照从小到大的顺序排列,并且长度最大。需要注意的是,动态规划算法的实现通常需要使用到一个数组来保存子问题的解,因此,空间复杂度可能比较高。同时,动态规划算法的实现需要满足最优子结构和重叠子问题的性质,才能保证算法的正确性和高效性。它通常用于求解最优化问题,其核心思想是将问题分解为若干个子问题,通过保存子问题的解来避免重复计算,从而实现对问题的高效求解。动态规划算法的核心思想是利用子问题的最优解来求解原问题的最优解。

2023-03-18 02:05:14 461

原创 Python贪心算法

需要注意的是,贪心算法并不能解决所有的优化问题,它只能用来解决那些满足贪心策略的问题。因此,在使用贪心算法解决问题时,需要考虑问题的性质,以及贪心策略是否正确。假设有n个物品,每个物品有一个重量和一个价值,现在有一个背包,它能够承载的重量有限。贪心算法(Greedy Algorithm)是一种常用的解决优化问题的算法,它通过每次选择局部最优解来达到全局最优解。:贪心算法的时间复杂度通常为O(nlogn),其中n为问题的规模;下面以一道经典的贪心问题为例,介绍贪心算法的Python实现。

2023-03-18 01:55:48 571

原创 Python计数算法

计数算法(Counting Sort)是一种线性时间复杂度的排序算法,适用于数据范围小但值分布比较集中的场景。需要注意的是,计数算法要求待排序数组中的元素都是非负整数,如果出现负数或者小数,需要对算法进行相应的修改。:计数算法的时间复杂度为O(n+k),其中n为待排序数组的长度,k为待排序数组中元素的取值范围;将统计结果累加,得到每个元素在排序数组中的位置;遍历待排序数组,将元素放置到相应的位置上;统计待排序数组中每个元素出现的次数;:计数算法的空间复杂度为O(k)。

2023-03-18 01:40:13 371

原创 Python搜索算法

搜索算法是指在一个数据集中查找特定元素的过程。这个过程包括遍历整个数据集,直到找到目标元素或者确定目标元素不存在。在计算机科学中,搜索算法是解决许多问题的关键,例如在排序算法中查找元素、搜索图形、计算机视觉中查找物体等等。常用的搜索算法有线性搜索和二分搜索。

2023-03-18 01:32:50 513

原创 Python排序算法

Python中有许多不同的排序算法,其中最常用的是以下三种:冒泡排序、选择排序和快速排序。

2023-03-18 01:14:57 69

原创 Python枚举算法

在Python中,我们可以使用itertools模块中的combinations和permutations函数来方便地实现枚举算法。其中最常用的函数是combinations和permutations函数,它们分别用于生成不同长度的组合和排列。举个例子,假设我们有一个集合{1, 2, 3, 4},我们想生成所有长度为2的组合。同样地,我们可以使用类似的方式生成长度为3的排列、长度为4的排列等等。这些元组表示了集合中所有长度为2的组合。我们可以使用类似的方式生成长度为3的组合、长度为4的组合等等。

2023-03-18 00:48:05 528

原创 Python嵌套数据结构

在 Python 中,嵌套数据结构指的是一种数据结构,其中一个数据结构(例如列表或字典)包含另一个数据结构作为其元素或值。嵌套数据结构可以非常灵活地表示复杂的数据结构,例如树形结构、图形结构、复杂的数据库结构等等。下面将详细介绍 Python 中的嵌套数据结构。

2023-03-18 00:08:34 2336

原创 Python数据结构---线段树

首先,我们需要定义一个节点类来表示线段树中的节点。每个节点包含一个左右子节点、区间起始和结束位置以及一些其他信息(如区间和、区间最大值、最小值等)。

2023-03-17 23:28:50 423

原创 Python实现K-means 聚类

Python实现K-means聚类,鸢尾花数据集

2023-01-02 17:38:21 1132

原创 选择结构与布尔逻辑

选择结构布尔表达式:结果可以为真或假的表达式。关系运算符:用于判定两个数值之间是否存在某种特定的关系。运算符含义>大于<小于>=大于或等于<=小于或等于==等于!=不等于控制结构是为了控制一组语句的执行顺序而引入的逻辑结构。最简单的控制结构是顺序结构(一组语句的执行顺序就是它们的排列顺序)。决策结构(也称为选择结构)用于使程序在某种特定的环境下执行某些语句。单分支选择结构:if 条件: 语句 语

2022-05-14 13:14:53 594

原创 输入、处理与输出

python语言的输入、处理与输出。

2022-05-06 17:26:18 3126

原创 计算机与编程

什么是程序?程序是计算机完成某种任务时执行的一组指令。程序通常被称为软件。硬件和软件构成计算机的物理设备称为计算机硬件。在计算机上运行的程序称为软件。硬件是指构成计算机的所以物理设备或组件。典型的计算机系统包括以下主要硬件:介绍中央处理器(CPU)运行程序的计算机部分内存计算机在程序运行时存储程序代码以及程序正在处理数据的地方辅助存储设备可以长时间保存数据的存储器,最常见的辅存设备是磁盘驱动器(硬盘)输入设备收集数据并将其发送到计算机系统的部件

2022-04-18 23:23:50 788

原创 最大公约数和最小公倍数

任务描述题目描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。编程要求请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,变量类型使用long long int。输入两个正整数输出最大公约数 最小公倍数如果输入的数中包含负数,则输出Input Error测试说明样例输入:6 15样例输出:3 30提示:负数没有最大公约数和最小公倍数;最大公约数和最小公倍数一定为正数,不可以为负数;

2021-04-15 21:12:49 3446 4

原创 将整数递归转换成字符串

任务描述用递归法将一个整数n转换成字符串。例如,输入n为483,输出字符串 4 8 3,每个数字后面接一个空格用于隔开字符。输入一个整数n输出相应的用空格隔开的数字字符。特别注意:输出字符之间有空格测试说明样例输入:483样例输出:4 8 3代码如下#include<stdio.h>void solve(int n){ int temp=n%10; if(n/10>0) { solve(n/10); printf

2021-04-15 21:12:08 9750 4

原创 水仙花数 HDU - 2010

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。现在要求输出所有在m和n范围内的水仙花数。Input输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。Output对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个

2021-01-27 16:59:13 137

原创 求平均成绩(HDU 2023)

题目描述假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。

2021-01-27 15:39:37 2404 2

原创 亲密数

任务描述题目描述:两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。编程要求输入无需输入输出3000以内的全部亲密数(输出格式:(A,B),不加换行,不加分隔符号)一对亲密数只输出一次,小的在前测试说明样例输出:(220,284)(1184,1210)(2620,2924)提示:按照亲密数定义,要判断数a是否有亲密数,只要计算出a的全部因子的累

2021-01-25 13:34:11 853

原创 编写函数求表达式的值

任务描述有如下表达式s = 1 + 1 / 3 + (1 * 2) / (3 * 5) + (1 * 2 * 3) / (3 * 5 * 7) + .... + (1 * 2 * 3 * .... * n) / (3 * 5 * 7 * ... * (2 * n + 1)) 。编写函数求给出的n所对应的表达式s的值。编程要求输入一个整数n输出输出表达式的值,保留小数点后10位的值。测试说明样例输入:4样例输出:1.5238095238代码如下#include<st

2021-01-25 13:31:55 7868 4

原创 回文数计算

任务描述本关任务:编写函数求区间[200,3000]中所有的回文数,回文数是正读和反读都是一样的数。如525, 1551编程要求输入无需输入输出输出区间[200,3000]中所有的回文数,一行一个回文数,不需要输出其它无关的字符。202212222232242…代码如下#include<stdio.h>int Hui(int a);int main(){ int m,n; for(m=200;m<=3000;m++) { if(Hui(m))

2021-01-25 13:29:18 2865

原创 求和

任务描述题目描述:给你一个n,要求你编写一个函数求1+2+…+n.编程要求输入输入一个n输出输出1+2+…+n的和测试说明样例输入:100样例输出:5050代码如下#include<stdio.h>int sum(int n);int main(){ int n; scanf("%d",&n); printf("%d",sum(n)); return 0;}int sum(int n){ if(n==1) return 1; e

2021-01-25 13:26:54 1193

原创 求水仙花数个数

任务描述输入两个三位正整数m和n,求[m,n]范围内有多少个水仙花数。一个三位数是水仙花数,如果它的各位数字的立方之和刚好等于自身。例如153是水仙花数,因为153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3。输入格式输入包含两个三位正整数m, n。m≤n。输出格式输出包含一个正整数,表示[m,n]范围内的水仙花数的个数。测试说明输入样例100 200输出样例1解释:在[100,200]范围内,只有一个水仙花数153.代码如下#include&l

2021-01-25 13:18:35 2214

原创 输出三角形

任务描述本关任务:编写小程序,输出边长为n的三角形。输入格式一个正整数n(n>=1)。输出格式边长为n的三角形,用+填充。注意三角形的最后一行的行首无空格。测试样例输入样例:4输出样例: + +++ ++++++++++++代码如下#include <stdio.h>int main(){ int n,i,j; scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j&l

2021-01-25 13:12:54 3519

原创 n钱买n鸡

任务描述本关任务:编写一个小程序,求n钱买n鸡一共有多少种买法。已知公鸡5元一只,母鸡3元一只,小鸡一元3只。现在有n元,想买n只鸡,求有多少种买法。每种鸡可以买若干只,也可以不买输入格式一个正整数n。输出格式n钱买n鸡有多少种买法。若无解,则输出0。测试样例输入样例:100预期输出:4解释:当n = 4时,有以下四种解法:公鸡 = 0只, 母鸡 = 25只,小鸡 = 75只公鸡 = 4只, 母鸡 = 18只,小鸡 = 78只公鸡 = 8只, 母鸡 = 11只,小鸡

2021-01-25 13:09:13 2933

原创 乘法表

任务描述本关任务:输出n * n乘法表。输入格式一个正整数n, n>=1。输出格式乘法表的前n行,两个等式之间用一个空格’ ‘隔开,每一行的最后一个等式后也有一个空格’ '。测试样例1输入样例:2输出样例:1* 1=1 1* 2=22* 1=2 2* 2=4测试样例2输入样例:4输出样例:1* 1=1 1* 2=2 1* 3=3 1* 4=42* 1=2 2* 2=4 2* 3=6 2* 4=83* 1=3 3* 2=6 3* 3

2021-01-25 13:03:31 1026

原创 条件控制循环--整数分段

任务描述根据整数的长度来分段重新组合生成新数。输入多个偶数位数的整数m,将数平均分为两段:前半段为s,后半段为t,将前后半段交换,构成一个新的整数,并输出,不保留高位零。当输入数据为-1时结束。输入:3025输出:2530输入:456089输出:89456相关知识确定整数的位数计算机如何确定一个整数的位数?(1)要获得一个整数n的具体是几位数,可利用log10和floor函数:m = floor(log10(n)+1)(2) 利用循环,一位位地数数:从个位数开始,一位位地将数字去掉

2021-01-25 12:24:33 733

原创 条件控制循环--大小写字母变换

任务描述从键盘输入依次输入一串英文字母,大小写不限,将其中的大写字母转换成相应的小写字母,小写字母转换成相应的大小字母,当输入字符不是英文字母时,停止程序执行。输入:gfDesBT4输出:GFdESbt输入:Kitty8LiLy输出:kITTY相关知识本关任务采用重复执行输入语句的方式来输入字符串,每输入 一个字符即对其进行判断,一个字符的转换处理完成后,即输入下一个字符。当读入的字符是非字母时,则处理结束。是否是字母,对于判断的结果可以作为一个标志f,例如:如果是字母,则设置:f = 1

2021-01-25 12:24:20 974

原创 青年歌手大奖赛_评委会打分

任务描述本关任务:青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。编程要求输入数据有多组,每组占一行,每行的第一个数是n( 2 < n < 100),表示评委的人数,然后是n个评委的打分。n=0表示输入的结束,不做处理。对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。测试说明平台会对你编写的代码进行测试:测试输入:3 99 98 974 100 99 98 970预期输出

2021-01-23 15:18:23 1288

原创 百灯判熄

任务描述本关任务:有100盏灯,编号为1~100,分别有100个开关进行控制,开始时灯全是打开的,然后进行如下的操作:首先将编号凡是1的倍数的开关进行反向操作,然后再将是2的倍数的开关进行反向操作,依次类推直到最后对100的倍数的开关进行反向操作。求最后熄灭状态的灯的编号及总数。相关知识为了完成本关任务,你需要掌握:1.如何遍历数组。测试说明平台会对你编写的代码进行测试:请按下面的格式输出,编号输出用%4d。预期输出:熄灭状态的灯的编号是:?? ?? …共有??盏灯是灭的代

2021-01-23 15:15:00 800

原创 打印杨辉三角

任务描述题目描述:还记得中学时候学过的杨辉三角吗?杨辉三角是一个无限对称的数字金字塔,从顶部的单个1开始,下面一行中的每个数字都是上面两个数字的和,你可以参考以下的图形:1 1 1 1 2 1 1 3 3 11 4 6 4 1 1 5 10 10 5 1 测试说明平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。输出打印出杨辉三角图形的10行。格式见题目描述部分。数据输出格式用“%4d”。代码如下#include<stdio.h>int main(

2021-01-23 15:11:42 472

原创 删除最大值

任务描述题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组编程要求输入输入10个互不相同整数输出输出删除最大元素后的数组测试说明样例输入:1 2 3 4 5 6 7 8 9 0样例输出:1 2 3 4 5 6 7 8 0#include<stdio.h>int main(void){ int a[100],temp,max; for(int i=1;i<=10;i++) { sca

2021-01-23 15:08:20 5507 4

原创 鞍点

任务描述题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。编程要求输入输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。输出按下列格式输出鞍点:Array[i][j]=x其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。一个二维数组并不一定存在鞍点,此时请输出None我们保证不会出现两个鞍点的情况,比如:3 31 2 31 2 33 6 8测试

2021-01-23 15:04:20 2053 1

原创 计算数组中元素的最大值及其所在的行列下标值

任务描述按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。相关知识为了完成本关任务,你需要掌握:1.二维数组定义;2.遍历二维数组;3.嵌套循环编程要求输入输入数组大小:"%d,%d"下面输入数组中元素。输出输出格式:数组大小输入提示信息:“Input m, n:”数组元素输入提示信息:"Input %d*%d array: "输出格式:“max=%d, row=%d, co

2021-01-23 14:59:27 7662 5

原创 二分查找

任务描述题目描述:将n个从小到大排序的整数(n<1000000)从1~n进行编号,并一个待查找的整数m,请使用二分法进行查找。相关知识为了完成本关任务,你需要掌握:1.一维数组 2.二分法(折半查找)编程要求输入输入包括3行,第一行为整数n(元素个数),第二行包括n个整数(数组元素),以空格分隔,第三行为整数m(要查找的元素)。输出如果能够在序列中找到整数m,则输出编号(如果存在多个编号,返回编号最小的),如果不存在,则输出None。测试说明样例输入:101 2 4 5 6

2021-01-23 14:55:20 5186

原创 排序问题

任务描述本关任务:将十个数进行从大到小的顺序进行排列。相关知识为了完成本关任务,你需要掌握:1.一维数组 2.排序算法编程要求根据提示,在右侧编辑器Begin-End处补充代码。输入输入十个整数输出以从大到小的顺序输出这个十个数测试说明样例输入:1 2 3 4 5 6 7 8 9 10样例输出:10 9 8 7 6 5 4 3 2 1代码如下#include<stdio.h>#define N 10int main(){ int i,j,k

2021-01-23 14:48:31 602

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除