
c基础编程
文章平均质量分 72
猫猫被注册了
这个作者很懒,什么都没留下…
展开
-
c语言之同余定理的应用求2001的2003次方除以13的余数
同余的性质主要有:(1)对于同一个除数,两数的和(或差)于他们余数的和(或差)同余数。(2)对于同一个除数,两数的乘积与他们余数的乘积同余。(3)对于同一个除数,如果两个整数同余,那么他们的差就一定能被这个数整除。(4)对于同一个除数,如果两个整数同余,那么他们的乘方仍然同余。解答同余类型题目的关键是灵活运用性质,把求一个比较大的数字除以某数的余数问题转化为求一个较小数除以这个数的原创 2015-11-20 11:33:23 · 3979 阅读 · 0 评论 -
160. Intersection of Two Linked Lists
Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘原创 2017-06-30 21:08:18 · 280 阅读 · 0 评论 -
单链表合并排序
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则题目来源:牛客网https://www.nowcoder.com/questionTerminal/d8b6b4358f774294a89de2a6ac4d9337非递归思路如果其中有一个链表为空,则返回另一个链表(包括两个都为空时,直接返回空)创建两个指针,p 和 tail(原创 2017-06-30 18:41:00 · 606 阅读 · 0 评论 -
Apriori算法延伸出来的字符串统计+匹配问题
Apriori核心算法过程如下:过单趟扫描数据库D计算出各个1项集的支持度,得 到频繁1项集的集合。连接步:为了生成,预先生成,由2个只有一个项不同的属于的频集做一 个(k-2)JOIN运算得到的。剪枝步:由于是的超集,所以可能有些元素不是频繁的。在 潜在k项集的某个子集不是中的成员是,则该潜在频繁项集不可能是频繁的可以从中移去。通过 单趟扫描数据库D,计算中各个项集的支持度,将中不满足支原创 2016-08-26 21:56:46 · 1235 阅读 · 0 评论 -
对简单排序的二次改进
简单选择排序的思想是每次从中选出最小(或者最大)的一个元素,然后把该元素与当前list的最前面的元素交换,直至剩下最后一个元素时,排序完毕对简单选择排序的改进,主要是在选择时,可以同时将当前list中的最大list[max]和最小元素list[min]都找出来,然后将最小元素与当前list中的首元素交换,然后再将最大的元素与当前list中的最后一个元素交换,直至最后一组元素交换完毕,整个排序结原创 2016-08-21 19:30:56 · 329 阅读 · 0 评论 -
简单选择排序
上一节介绍了如何实现希尔排序,现在介绍一下关于简单选择排序的知识。简单选择排序的思想很简单,首先是先选择,然后再将选出来的元素(当前最大或最小)与list的首元素进行交换,然后再从剩下的list中选择当前最大(或最小)的元素,再与未交换的首元素(第二个元素)进行交换,.......直至剩下最后一个为止,交换完毕,整个排序结束。举个按照从小到大排序的栗子:对于一个原始数为:{49 38 65原创 2016-08-19 11:54:52 · 366 阅读 · 0 评论 -
插入排序之希尔排序
上一节写了自己怎么实现的插入排序中的直接插入排序,现在介绍一下自己对希尔排序的理解。希尔排序的思路很简单,给定一个无序的数组,首先是确定一个间隔d,d是用来对数组进行分组的,然后再对分组以后的每组数据进行组内排序,排序完成后在将d的值缩小,然后再将数据按d进行分组,再对各个分组的数据进行排序......直至d=1,完成最后一次整个分组的排序,得到最后的结果即为排好序的数组。原创 2016-08-18 15:46:09 · 304 阅读 · 0 评论 -
插入排序中的直接插入排序(打扑克)
八大排序算法中,最著名的就是插入排序,包含直接插入排序和希尔排序。直接插入排序较为简单,思想类似于我们打扑克牌的时候要将一张张纸牌按顺序梳理好,如果发现某张纸牌的的位置不正确,则直接将这张纸牌插入到正确的位置即可。直接插入排序(按照由小到大的顺序排列)的解题思路:1、将第一张纸牌(数据)默认为有序,将其插入到list列表2、对于第二张及以后的纸牌,与list列表中的数据进行比较,如果找原创 2016-08-17 22:32:43 · 1793 阅读 · 0 评论 -
c语言之大数阶乘
大数阶乘时间限制:3000 ms | 内存限制:65535 KB难度:3描述我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?输入输入一个整数m(0输出输出m的阶乘,并在输出结束之后输入一个换行符样例输入50样例输出304140932017133780436126081660647688443原创 2015-11-26 11:28:09 · 606 阅读 · 0 评论 -
逆康托展开
康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)问题描述:有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = ["D", "B", "A", "C"],现在要把 s1 映射成 X。n 指的是数组的长度,也就是4,所原创 2015-11-18 11:38:49 · 491 阅读 · 0 评论 -
c语言之康托展开
/* X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0!。这就是康托展开。 a[n]代表的是元素所在的排序(从0 开始): [ABCD]中一个元素串[ACBD]其中A的位置是0,C的位置是剩下的C原创 2015-11-18 21:16:54 · 1990 阅读 · 0 评论 -
c语言之阶乘因式分解
阶乘因式分解(一)时间限制:3000 ms | 内存限制:65535 KB难度:2描述给定两个数m,n,其中m是一个素数。将n(0输入第一行是一个整数s(0随后的s行, 每行有两个整数n,m。输出输出m的个数。样例输入2100 516 2样例输出2415解题思路:对于这道题无需原创 2015-11-23 18:09:27 · 936 阅读 · 0 评论 -
c语言之素数距离问题
素数距离问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0输入第一行给出测试数据组数N(0接下来的N行每行有一个整数M(0输出原创 2015-11-21 22:11:45 · 1345 阅读 · 0 评论 -
高效求素数--筛法求素数
#include#include#define Num 30int main(){ char a[Num]; int i=0,j=0; int count = 0; memset(a,'y',Num); //初始化,数组中所有的元素赋值为真 for(i=3;(i<Num)&&(a[i]!='n');i+=2) //(a[i]!='n') 和(a[j]!='n')用于原创 2015-11-17 11:31:13 · 669 阅读 · 0 评论 -
c语言之动态栈的功能实现
#include#include#includetypedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; PNODE pBottom;}STACK,*PSTACK;//在函数声明时可以只写变量类型,不写形参的变量名void in原创 2015-10-31 21:24:49 · 469 阅读 · 0 评论 -
c语言栈的应用之括号匹配问题
括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNo原创 2015-11-21 15:57:03 · 1229 阅读 · 0 评论 -
c语言同余定理的应用:三个大数除以m得到相同的余数,求m最大的数值
自然数16520、14903、14177除以m得到相同的余数,m最大的数值等于多少?对于同一个除数,如果两个整数同余,那么他们的差就一定能被这个数整除三个数字比较大,但是他们对于m同余,那么当中任意两个数字的差必然是m倍数,要求m的最大的数值可以转化位求他们的三个差的最大公约数,从而降低计算的难度6520-14903=1617=3×7的平方×11,16520-14177=2343=原创 2015-11-20 17:30:07 · 3785 阅读 · 0 评论 -
短链接生成
//生成短连接 //private async Task CreateShortLink(string longLink) //{ // string url = "https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyAHyoJ-VNLdBbNGMLj_jQliPoflgJVKYQE转载 2018-01-24 15:01:48 · 879 阅读 · 0 评论