算法设计
zouroot
这个作者很懒,什么都没留下…
展开
-
盈利分配 方格计算
13题: 题目: 在一个n*m的方格中,m为奇数,放置有n*m个数,如图4-17所示。方格中间下方有一个人,此人可以按照5个方向前进但不能越出方格,如图4-18所示。 图 4-17 方格 人每走过一个方格必须取此方格中的数。要求找到一条从底到顶的路径,使其数相加之和为最大。输出最大和的值原创 2016-01-24 16:50:50 · 1299 阅读 · 0 评论 -
最小公倍数问题 算法设计
#include/*int max(int x , int y , int z){ if(x > y && x > z) return x; else if( y > x && y > z) return y ; else return z;}int main(void){ int x1,x2,x3, t = 1 , i , flag,x0; p原创 2016-01-24 17:22:15 · 620 阅读 · 0 评论 -
最佳浏览路线问题 算法设计
#include#includevoid findbestpath(int s[] , int n ,int &s1 ,int &s2);int main(void){ int a[3][5] = {-50 , -47 , 36 , -30 , -23 , 17 , -19 , -34 , -43 , -8 , -42 , -3 ,原创 2016-01-24 17:21:12 · 901 阅读 · 0 评论 -
杨辉三角问题 算法编程
#includevoid coeff(int a[] , int n){ if(n == 1) { a[1] = 1; a[2] = 1; } else { coeff(a , n-1); a[n+1] = 1; for(int i = n ; i >= 2; i=i--) { a[i] = a[i] + a[i-原创 2016-01-24 17:20:01 · 504 阅读 · 0 评论 -
阶乘统计0个数 算法
#include#include#includevoid calculate(int a[] , const int num ); //计算每一步的阶乘int len = 1;int main(void){ int *a; int n = 0; while(n>10000 ||n < 1000) { printf("please in原创 2016-01-24 17:18:54 · 479 阅读 · 0 评论 -
求数列的最大字段和 算法
#includeint max_sub_sum(int a[] , int left , int right);int max_sum3(int a[] , int n){ int k = max_sub_sum(a,0,n); // return (max_sub_sum(a,1,n)); printf("%d\n",k); return k;}int mai原创 2016-01-24 17:17:31 · 1052 阅读 · 0 评论 -
棋盘覆盖问题 算法
#includeint amount = 0 , Board[100][100];void Cover(int tr , int tc , int dr ,int dc ,int size );void OutputBoard(int size);int main(void){ int size = 1, x ,y,i,j,k; scanf("%d",&k); for原创 2016-01-24 17:16:12 · 416 阅读 · 0 评论 -
蜜蜂问题 1 算法
#includeint fun(int n); //统计两个数之间的可能路径int main(void){ int a = 0 , b = 0 ; printf("please input a and b , and a less than b :\n"); scanf("%d",&a); scanf("%d",&b); while(a >= b )原创 2016-01-24 17:14:58 · 1063 阅读 · 0 评论 -
冒泡排序
#include#includeint main(void){ int n ; int *a = NULL ; scanf("%d",&n); a = (int *)malloc(sizeof(int)*n); for(int i = 0 ; i < n ; i++) { scanf("%d",(a+i)); } for(i = 0 ; i原创 2016-01-24 17:13:47 · 302 阅读 · 0 评论 -
算法 狼找兔子问题
/* 狼找兔子问题 本程序采用循环链表思想解决问题,通过循环遍历,查找结点,并在查找结点做一个标记,并在统计count上自增1, 查找结束后,通过检查count值,如果count<n,说明有满足题意的躲藏点,并输出未作标记的节点;否则,兔子没有躲藏点。*//* 狼找兔子问题 本程序采用循环链表思想解决问题,通过循环遍历,查找结点,并在查找结点做一个标记,并在统计co原创 2016-01-24 17:12:17 · 3219 阅读 · 0 评论 -
分治法求一组数据的和
#include#includeint add(int a[] ,int m, int n);int main(void){ int n; printf("please input number n :\n"); scanf("%d",&n); int *a = NULL; a = (int *)malloc(sizeof(int)*n); printf("p原创 2016-01-24 17:10:37 · 2518 阅读 · 0 评论 -
算法 分治法求矩阵的乘积
#include#includevoid fun(int **a , int **b , int **c , int n );int main(void){ int k ; printf("please input number k :"); scanf("%d",&k); int n = 1 ; for(int i = 0 ; i < k ; i++) {原创 2016-01-24 17:09:03 · 1554 阅读 · 0 评论 -
统计翻拍次数
#include#define num 104 //翻牌次数int main(void){ int cards[53] = {0}; //为了方便计算,定义数组长度为53,a[0]不使用 , 0代表正面朝上,1代表反面朝上 int count = 0; //统计正面朝上个数 int dex = 2; while(count < num) {原创 2016-01-24 17:07:24 · 525 阅读 · 0 评论 -
矩阵上三角打印
根据题目要求,打印次上三角矩阵。输入1,打印结果如下:1输入2,打印结果如下:1 32例如输入3,打印结果如下:1 3 62 54输入4.打印结果如下:1 3 6 102 5 94 87......输入7,打印结果如下:1 3 6 10 1原创 2016-01-24 17:05:18 · 2367 阅读 · 0 评论 -
算法矩阵打印2
输入任意n(1~100),程序将根据题目要求,打印矩阵:如输入2,打印结果如下:1 2 4 3如输入3,打印结果如下:1 2 38 9 47 6 5输入4,打印结果如下:1 2 3 412 13 14 511 16 15 610 9 8 7......输原创 2016-01-24 17:03:11 · 380 阅读 · 0 评论 -
矩阵循环打印
输入任意的六位数字:如 1 2 3 4 5 6 打印结果如下: 1 2 3 4 5 6 6 1 2 3 4 5 5 6 1 2 3 4 4 5 6 1 2 3 3 4 5 6 1 2 2 3 4 5 6 1例如输入 5 9 8 1 3 6打印结果如下 :5 8 9 1 3 66 5 8 9 1 33 6 5 9 8 11 3原创 2016-01-24 17:01:14 · 522 阅读 · 0 评论 -
循环
本程序使用循环思维编程,在输入任意的数字n(1~12),都可以计算出 2 + 22 + 222 + ...... + 222...222的结果。其中测试用例有:n = 1 , result = 2;n = 2 , result = 24;n = 3 , result = 246;n = 4 , result = 2468;n = 5 , result = 2469原创 2016-01-24 16:59:11 · 308 阅读 · 0 评论 -
递归
本程序使用递归,在输入任意的数字n(1~12),都可以计算出 2 + 22 + 222 + ...... + 222...222的结果。其中测试用例有:n = 1 , result = 2;n = 2 , result = 24;n = 3 , result = 246;n = 4 , result = 2468;n = 5 , result = 24690;原创 2016-01-24 16:56:26 · 315 阅读 · 0 评论