【C语言之基本算法34—分解质因数(方法一)】教程文章相关的互联网学习教程文章

操作系统:页面置换算法OPT算法实验(C语言)【代码】【图】

实验题目: OPT算法实验 实验内容: 已知页面访问序列,采用OPT页面置换算法,求缺页次数、页面置换次数和缺页率。 实验目的: 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 实验原理:问题分析及算法设计(流程图)实验源代码: #include <stdio.h> #include <string.h> #include <stdlib.h> #inc...

C语言快速排序算法(递归实现)【代码】

1 #include<stdio.h>2 3 void quick_sort(int array[],int left,int right);4 void quick_sort(int array[],int left,int right)5 {6 int i =left,j = right;7 int temp;8 int pivot;9 10 pivot = array[(left+right) / 2]; 11 12 while (i<=j)//结束判断条件 13 { 14 while (array[i] <pivot)//从右向左找小于基准的元素 15 { 16 i++; 17 } 18 ...

C语言:贪心算法之装箱问题【代码】【图】

#include <stdio.h> #include <stdlib.h>#define N 6 #define V 100typedef struct box // 使用 typedef 来为用户自定义的数据类型box取一个新的名字BOX {int no;int size;struct box* next; }BOX; // 使用访问结构的指针访问结构的成员 void init_list(BOX** H) // 声明了一个指向 BOX 类型指针的指针 *H为一级指针,&(*H)为一级指针的地址,即将一级指针的地址赋值给二级指针H*H = (BOX*)malloc(sizeof(BOX)); // H表示一...

C语言算法 设计一个算法,将数组m个元素循环右移。要求算法空间复杂度为O(1)【代码】

题目如题:数组是一个常规一维数组, 直接放代码,代码讲解见注解#include<stdio.h> void swap(int a[],int i,int j) {a[i]=a[i]+a[j]-(a[j]=a[i]); } void insert(int a[],int i,int n)//插入算法,每次把第i个数放到这个数组的最后面 {int key=a[i];//插入算法的核心思想和插入排序当中是一样的,设定一个key,让key插入到最后面while(i<n){a[i]=a[i+1];++i;if(i+1==n)//当i处于数组最后一位的时候,停止循环break;}a[i]=key;//在...

利用哈希算法找两个文件代码行不同的C语言代码【代码】

先上代码 #include<stdio.h> #include <string.h> #include<stdlib.h> const int maxn = 100000000;typedef struct NODE{struct NODE* next;char* str; }Node; Node BUFF[100000000];unsigned int ELFHash(char* str){unsigned int hash=0;unsigned int x=0;while(*str){// printf("%d\n", *str); hash=(hash<<4)+(*str++);if((x=hash&0xF0000000L)!=0){hash^=(x>>24);hash&=~x;}}return (hash&0x7FFFFFFF);}int main(){ // for(...

《数据结构与算法分析C语言描述》源码网盘分享【图】

因为在网上很多地方找都没有找到合适的,有的要收费,有的是伪装的垃圾软件下载,所以就到github上再找,结果还真的找到了,所以分享出来,希望大家少走弯路。 百度网盘链接: 链接:https://pan.baidu.com/s/18ClB3pxHxe8evr7OwLjAEQ 提取码:poob 文件预览:

c语言实现多表代换密码算法及求逆元【代码】

密文及明文默认长度为4的倍数 #include<stdio.h> #include<stdlib.h> #include<string.h>int ex_gcd(int a,int b,int &x,int &y) //扩展欧几里得 {if(b==0){x=1;y=0;return a;}int r=ex_gcd(b,a%b,x,y);int t=x;x=y;y=t-a/b*y;return r; }int re_yuan(int a,int b) //求a的逆元x {int d,x,y;d=ex_gcd(a,b,x,y);return (x%b+b)%b; }void IuputAre_A(int A[][4]) //A与A^-1的输入 {for (...

C语言实现一个走迷宫小游戏(深度优先算法)【代码】【图】

接上一篇万年历博文,还是那位朋友的练习题。这次是使用C语言做一个小游戏程序,三选一(2048、8皇后和迷宫游戏),我选择的是迷宫(文章末尾有程序截图)。个人认为这个程序的难点在于迷宫地图的绘制,也就是怎么建立一个迷宫。如果迷宫地图是在程序里写死的,那可玩性就大大降低了。那么能不能像正常游戏一样生成一个随机地图呢?当然有!在网上查到的结果不外乎这三种:深度优先算法、prim算法和递归分割算法。这三种算法的优劣...

c语言 运用递归算法求出数组中的最大值【代码】

我们很简单的把一个拥有n个数字的int类型的数组看成两个部分, 前n-1项和第n项 在进行比较大小的时候,就直接拿前n-1项和第n项进行比较: 如果第n项比较大,就return出第n项 如果前n-1项比第n项要大,就用递归的方法return出前n-1项的最大值 当然这一切都建立在传入当前函数的数字大于1的情况下,当传入的数字为1是,这个数字就为最大值 上面的那一句话就作为递归的出口使用int MaxNumber(int number[],int n) {if(n>=1){if(MaxNum...

C语言算法 求最大公约数(辗转相除法)【代码】

辗转相除法(欧几里德算法) 假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的: 1997 / 615 = 3 (余 152) 615 / 152 = 4(余7) 152 / 7 = 21(余5) 7 / 5 = 1 (余2) 5 / 2 = 2 (余1) 2 / 1 = 2 (余0) 至此,最大公约数为1 以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。 #include<stdio.h> int fun(int a,int b){int r,t;if(a<b...

基于哈夫曼(haffuman)算法的文件压缩的实现(C语言)(转)【图】

本文首先简要阐述哈夫曼算法的基本思想,然后介绍了使用哈夫曼算法进行文件压缩和解压缩的处理步骤,最后给出了C语言实现的文件压缩和解压缩的源代码。 哈夫曼算法的主要思想是: ①首先遍历要处理的字符串,得到每个字符的出现的次数; ②将每个字符(以其出现次数为权值)分别构造为二叉树(注意此时的二叉树只有一个节点); ③取所有二叉...

【c语言】蓝桥杯算法训练 平方计算【代码】

【问题描述】 输入正整数a, m,输出a2%m,其中表示乘方,即a^2表示a的平方,%表示取余。 【输入格式】 输入包含两个整数a, m,a不超过10000。 【输出格式】 输出一个整数,即a^2%m的值。 【样例输入】 5 6 【样例输出】 1 #include<stdio.h> int main(int argc,char argv[]) {int a,m;scanf("%d%d",&a,&m);printf("%d\n",a*a%m);return 0; }

DES加密算法,c语言实现【代码】

```cpp //des算法...真的有点难,debug哭了 //参考博客https://www.cnblogs.com/songwenlong/p/5944139.html #include<bits/stdc++.h> using namespace std; char str[9];//输入的明文,密钥 int express[65];//输入初始明文的二进制 int l0[49],r0[49];//初始 int l1[49],r1[49];//置换后 int key[65];//初始密钥的二进制 int mov[20]={1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};//左移位数表 int c0[30],d0[30];//两块密钥 int c...

归并排序算法(C语言)【代码】【图】

下面是实现代码 #include<stdio.h> #include<string.h> #include<stdlib.h> void Merge(int stu[],int s,int m,int n) {//归并排序--归并 int i,j,k; int temp[100]; i=s;j=m+1;k=0; while(i<=m && j<=n) { if(stu[i]<stu[j]) temp[k++]=stu[i++]; else temp[k++]=stu[j++]; } while(i<=m) temp[k++]=stu[i++]; while(j<=n) temp[k++]=stu[j++]; for(i=s;i<=n;i++) { stu[i]=temp[i-s]; } } void MergeSor...

蓝桥杯 算法训练 字符串长度【C语言】---Q君【代码】

问题描述输入一个字符串,输出其长度。 输入格式输入一个字符串 输出格式输出字符串长度 样例输入 一个满足题目要求的输入范例。 HelloWorld 样例输出 10 数据规模和约定输入的字符串的长度0<N<100 #include<stdio.h> #include<string.h> int main() {char s[100];gets(s);printf("%d\n",strlen(s));return 0; }点赞 收藏分享文章举报每日program发布了11 篇原创文章 · 获赞 5 · 访问量 106私信 关注