二分法查找: 二分法查找的前提是一定是事先排好序的,它直接定位到中间索引的值和要查找的数进行比较。 所以我们需要定义三个变量:min、max、middle   //二分法查找 int query(int arr[], int value) { int min = 0, ma
  关于C语言练习中分号的一些问题 题目内容:输出100—200之间的素数个数 1 # include<stdio.h> 2 3 int main() 4 5 { 6 7   int i; 8 9   int count = 0; 10 11
完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。 本题的任务是判断两个正整数之间完数的个数。 Input 输入数据包含多行,第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占
题目 Stat Origin Title Problem Title Solved A HDU 1161 Eddy's mistakes Solved B HDU 1406 完数 Solved C HDU 1097 A hard puzzle Solved D HDU 1001 Sum Proble
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30095 Accepted Submission(s): 1627
一、快速幂原理 [ 快速幂算法,可以加快运算速度,使用快速幂算法时间复杂度为O(logN) ] [ 以2^{50}为例 ] ​ 在不使用数学函数的情况下,使用遍历的方法,时间复杂度是O(N),需要遍历50次对吧。 ​ 但是如果使用快速幂的话,那就快多了。具体是如何运算,先将50转化成2进制数 110
引言 - 数据结构堆   堆结构都很耳熟, 从堆排序到优先级队列, 我们总会看见它的身影. 相关的资料太多了, 堆 - https://zh.wikipedia.org/wiki/%E5%A0%86%E7%A9%8D 无数漂亮的图片接二连三, 但目前没搜到一个工程中可以
  最近学了单链表,遇到了一些问题 ,和大家分享一下! 首先看一下带头指针的单链表示意图:  从中可以看到链表的每一个节点(除了尾指针)都有一个指针指向下一个节点(头指针只有只保存了该链表的地址),尾指针指向空。 所以我们要对链表中的某个节点进行操作的话,基本上要使用到该节点的前驱节点和后驱节点。(
1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布
1.  u16  g_summ  = 0; u8 buf[2] = {0x10, 0x05}; g_summ = (buf[1] << 8)  |  buf[0];    //  g_summ = 0x0510   2.  u16  g_summ = 0x0510; buf[0] = (
冒泡排序是一种稳定排序,时间复杂度平均为O(n^2),最好的时间复杂度为O(n),最坏为O(n^2)。   排序时每次只比较当前元素与后一个 元素的大小,如果当前元素大于后一个元素,则交换,如此循环直到队尾,每轮排序都可以保证将当前排序下最大的元素送到未排序部分的队尾。 有n个元素要排列,故要执行n
前言 每一个蹩脚的C++程序员都有一颗做操作系统内核的心。我从大学毕业开始就对操作系统内核感兴趣,将其看作是术之尽头,可惜那时候一直在无忧无虑的忙着玩网游,也就搁置了。随着时间的推移,逐渐就将其淡忘了,但无忧无虑的日子终有到头的时候,在这个寒冬,不情愿的放了个假,也终于有时间来完成一个简陋
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 68313 Accepted Submission(s): 32884 Problem
1.谁适合阅读本教程 本教程可以帮助大家从零开始学习C语言,对于有一定基础的人起到夯实基本功的作用。C语言容易学习,非常适合初学者入门,而且也为以后的编程打下基础。借用一句话:“要进入编程行业高手必学C语言,要挣大钱必学C语言,要做黑客、红客必学C语言。”当然了,这是夸张的话了,但是体现出了C语言的