随笔分类 - c算法
考不完的试
摘要:较为基础 代码如下 1 #include <stdio.h> 2 int fun(int n) 3 { 4 int i; 5 for(i=2;i<n;i++) 6 if(n%i==0) 7 return 0; 8 return 1; 9 } 10 int main() 11 { 12 int cou
阅读全文
摘要:模拟翻牌过程即可,利用二维思想模拟即可 代码如下,详情请看注释 1 #include<stdio.h> 2 int fun(int *a)//定义一个翻牌过程函数(时刻记住c语言是面向过程的语言) 3 { 4 for(int i=2;i<52;i++)//从翻倍数为2的牌一直翻到倍数为51的牌,倍数
阅读全文
摘要:有五个数12,-1,66,5,7,选出最大的的数的下标,把最大的数与最后的位置交换,5个数找4次最大的数即可 代码如下 1 #include<stdio.h> 2 #include<math.h> 3 int main(){ 4 int a[5]={12,-1,66,5,7}; 5 int len=
阅读全文
摘要:假设有5个数12,-1,66,5,7 解:存进一个长度为5的数组,依次比较前后两项,前<后即可交换 代码如下 1 #include<stdio.h> 2 int main(){ 3 int a[5]={12,-1,66,5,7}; 4 int len=5; 5 int b; 6 for(int k=
阅读全文
摘要:在一的基础上遍历出所有路径 只要jerry走到出口,即把一条路径遍历出来 每完成一次完整的模拟即把一条路径显示出来,接着返回上级把他设置为0,即可让这条已显示的路径重新模拟递归 代码如下 1 #include<stdio.h> 2 void walk(int ,int); 3 int jerry[9
阅读全文
摘要:老鼠走迷宫问题,具体解释写在注释中,思考即可 代码如下 1 /*int jerry[7][7]={{2,2,2,2,2,2,2}, 2 {2,0,0,0,0,0,2}, 3 {2,0,2,0,2,0,2}, 4 {2,0,0,2,0,2,2}, 5 {2,2,0,2,0,2,2}, 6 {2,0,0
阅读全文
摘要:假设有一条绳子,上面挂有红、白、蓝三种颜色的旗子,没有顺序,每次移动两个旗子,使得颜色顺序为蓝,白红顺序,同时移动次数最少。 求解:可以定义一个指针数组,用地址的指向来移动数组内部的值,把蓝色旗子移到数组前面部分,白色旗子移到中间部分,红色旗子移动到数组后面部分,定义开头和结尾分别为begin和en
阅读全文
摘要:此题较为简单,只需定出后一项等于前两项之和即可 代码如下 1 #include<stdio.h> 2 #define N 100 3 void show(int a[N])//定义一个函数 4 { 5 for(int i=1;i<=20;i++){//输出斐波那契数列的前20项 (因为第一项定义为0
阅读全文
摘要:定义两个函数即可解决 一个f(char a,char b)函数,一个g(int i,char a,char b,char c)函数 f函数表示把a上一个圆盘移动到b上, g函数表示把a上i个圆盘通过b移动到c上,重复操作即可解决问题。 代码如下 1 #include<stdio.h> 2 void
阅读全文

浙公网安备 33010602011771号