zoukankan      html  css  js  c++  java
  • 算法入门经典 第四章

    程序4-1 组合数Cn^m
    #include<stdio.h>
    #include<string.h>
    #define maxn 10005
    long long C(int n,int m);
    int ans[maxn];
    int main()
    {
    long long m=C(4,2);
    printf("%ld",m);
    return 0;
    }

    long long C(int n,int m)
    {
    if(m<n-m) m=n-m;
    long long ans=1;
    for(int i=m+1;i<=n;i++) ans*=i;
    for(int i=1;i<=n-m;i++) ans/=i;
    return ans;
    }

    程序4-2 素数判定

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #define maxn 10005
    int is_prime(int n);
    int main()
    {
    long n=7;
    long long m=is_prime(n);
    if(m)
    printf("%d是素数",n);
    else
    printf("%d不是素数",n);
    return 0;
    }
    //素数 大于1的,只能被1和它自身整除的数
    int is_prime(int n)
    {
    if(n<=1) return 0;
    //floor(x+0.5) 对x进行四舍五入 另一方面页避免重复计算 sqrt(n)
    int m=floor(sqrt(n)+0.5);
    for(int i=2;i<=m;i++)
    if(n%i==0) return 0;
    else return 1;
    }


    程序4-6 交换两个数

    #include<stdio.h>
    #include<string.h>
    void swap(int *a,int *b);
    int main()
    {
    int a=3,b=4;
    swap(&a,&b);
    printf("%d %d",a,b);
    return 0;
    }
    void swap(int *a,int *b)
    {
    int t=*a;*a=*b;*b=t;
    //改成 int *t=*a,*a=*b;*b=*t是错误的
    //t存储的地址是什么,如果这个不确定的值代表的内存单元是恰能写入的,那这段程序将正常工作,如果是只读的,程序可能崩溃
    }

    程序4-9 计算左闭右开的元素和
    #include<stdio.h>
    #include<string.h>
    //变指针的指向
    int sum(int *begin,int *end)
    {
    int *p=begin;
    int ans=0;
    for(int *p=begin;p!=end;p++)
    {
    ans+=*p;
    }
    return ans;
    }
    int main()
    {
    int a[]={1,2,3,5,3,5};
    int m=sum(a+1,a+4);
    printf("%d",m);
    return 0;
    }


    //算出元素的个数
    #include<stdio.h>
    #include<string.h>
    int sum(int *begin,int *end)
    {
    int n=end-begin;
    int ans=0;
    for(int i=0;i<n;i++)
    {
    ans+=begin[i];
    }
    return ans;
    }
    int main()
    {
    int a[]={1,2,3,5,3,5};
    int m=sum(a+1,a+4);
    printf("%d",m);
    return 0;
    }

  • 相关阅读:
    用友跨账套查询
    用友单据导入
    Delphi Math单元函数
    9.golang 字符串操作
    7.golang 结构体和指针
    6.golang 数组,切片,映射
    5.golang 控制流程 if, else if ,switch ,defer使用
    golang 指针类型* ,以及 &取变量内存地址
    phpjwt 第三方库生成token验证,也可以做公钥,私钥的验证方法。
    golang采坑一 expected ';', found 'import'
  • 原文地址:https://www.cnblogs.com/is-Tina/p/7338631.html
Copyright © 2011-2022 走看看