题解列表

筛选

1129: C语言训练-排序问题<2> 快速排序法

解题思路:采用快速排序法,采用最左边的数为基准数,将小于等于基准点的数全部放到基准点右边,将大于等于基准点的数全部放到基准点左边,实现从大到小的排序注意事项:相比冒泡排序,每次交换是跳跃式的,最差情况下与冒泡排序时间复杂度一致,此题下时间复杂度与冒泡排序一致参考代码:#include

题解 1161: 回文数(二)(python)

摘要:def n_to_ten(n,m):     j = 0     sum =0     for i in str(m)[::-1]:         sum += int(i)*n**j  ……

divmod(x, y)函数,集商和余数于一体

#a,b=divmod(x,y)divmod()函数会返回两个值,第一个为x//y,第二个返回值为x%yMoneyVariety_lis=[100,50,10,5,2,1]while1:num=list(map(int,input().split()))ifnum[0]==0:#满足条件退出while

2644: 烤干机 c++分治思想

解题思路:这道题第一眼会想到全排列或者优先队列毫无疑问这是错的,因为时间复杂度太高了所以我想的是分治算法(因为最近比较菜想了好久)intf[500002];定义数组inta(即A),b(即B)首先我们对数组f[i]进行排序(sort排序方便简洁)假设最优值为xx属于到f[0]/a到f[n-1]/a+1

入门]自定义函数之数字后移

解题思路:解题思路:其实重点就再最后一条printf语句中的取余哪里,其余的读入数据就不多说了,通过for循环读入即可;来看一下这个运算符%的魅力吧。inta[10]={1,2,3,4,5,6,7,8,9,0};对于上面的数组如何让它循环右移3位呢;通常的做法的是再创建一个数组;把后3位先读入新数组中

应该算是筛选法吧

摘要:解题思路:先将1挖掉(因为1不是素数)。用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。用3去除它后面的各数,把3的倍数挖掉。分别用5…各数作为除数去除这些数以后的各数。百度了一下看的……