关于c的4种算法以及实例演示

原创 2015年11月20日 20:26:46
//递归函数
int jecheng(int n) {
    if (n <= 1) {
        return 1;
    } else {
        return n * jecheng(n-1);
    }
    
}



int main(int argc, const char * argv[]) {
    //常用算法
    
    //1.穷举:依次列举所有情况,找到满足自己需求的答案
    //找最大值
    int a[5] = {1, 7, 3, 4, 5};
    int max = a[0]; //定义一个迭代变量
    for (int i = 0; i < 5; i++) {
        //穷举加迭代
        if (a[i] > max) {
            max = a[i]; //迭代操作
        }
    }
    
    //判断一个数是否是质数
    int n = 74583;
    for (int i = 2; i < n; i++) {
        if (n%i == 0) {
            printf("no");break;
        }
    }
    
    
    //2,迭代算法:用新的值取更新原来的值
    //求n的阶乘
    n = 5;
    int result = 1;  //迭代变量
    for (int i = n; i >= 1; i--) {
        result = i * result;    //n*(n-1)*(n-2)*(n-3)
    }
    printf("n! = %d\n", result);
    
    
    //3.递推算法:数学建模找到推导公式
    //乘法表
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            printf("%d*%d=%d\t", i, j, i*j);
        }
        printf("\n");
    }
    
    
    //4.递归:函数自己调用自己
    
    
    //选择排序:选择性进行交换
    int b[5] = {4,2,3,5,1};
    for (int i = 0; i < 5; i++) {
        int k = i;  //最大值下标迭代变量
        for (int j = i; j < 5; j++) {  //找到未排序队列最大值下标
            if (a[k] < a[j]) {
                k = j; //迭代
            }
        }
        if (i != k) {
            int temp = a[i];
            a[i] = a[k];
            a[k] = temp;
        }
    }
    
    for (int i = 0; i < 5; i++) {
        printf("%d", a[i]);
    }
    
    
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Objective-C实现常用的4种排序算法

OC实现的4种排序又来了,

XML读取实例(4种)

  • 2008-11-15 13:51
  • 1.41MB
  • 下载

Hibernate4种多表关系实例

  • 2008-01-17 15:20
  • 31KB
  • 下载

C实例---关键词查找、替换算法

运行环境:macOS shell 代码:#include #include #include #define ALL 1 #define SINGLE 0int str...

4种解析xml文件 实例

  • 2012-06-28 16:20
  • 21KB
  • 下载

4种解析XML方法实例

  • 2011-11-21 15:43
  • 443KB
  • 下载

C/C++算法实例(七)--其它

七进制转换 1.任意正整数进制间的互化 除n取余 2.实数任意正整数进制间的互化 乘n取整 3.负数进制: 设计一个程序,读入一个十进制数的基数和一个负进制数的基数...

C/C++算法实例(三)--背包问题

*部分背包问题可有贪心法求解:计算Pi/Wi 数据结构: w[i]:第i个背包的重量; p[i]:第i个背包的价值; 1.0-1背包: 每个背包只能使用一次或有限次(可转化为一次):...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)