zoukankan      html  css  js  c++  java
  • 《算法C语言实现》————三道题目

    1.对于N = 10,100和1000,记录你的运行环境中分别运行一下程序所花费的时间。(用python)

    import datetime
    
    global a
    a = 0
    
    
    def time_1(s):
        global a
        for i in range(s):
            for i in range(s):
                for i in range(s):
                    a += 1
    
    
    
    
    begin  =  datetime.datetime.now()
    
    
    time_1(10)
    
    end = datetime.datetime.now()
    
    print str(end-begin)

    改变time_1(s)中  s为  10   100  1000

    分别对应的运行时间为   0:00:00.001000         0:00:00.119000   0:01:22.103000

    2.用形如c0+c1N+c2N^2+c3N^3的表达式精确地描述练习2.2中程序的运行时间:对于N=10,100和1000,比较该表达式预测的时间与实际执行时间

    不会

    3.对于N=10^3,10^4,10^5和10^6,利用埃拉拖色尼筛法确定小于N的素数。

      埃拉托色尼筛法: 如果自然数i为素数,则设a[i]为1,否则设为0。首先把数组中的所有元素设为1,以表明没有任何数已被证明是非素数。然后,把数组中所对应索引处已证明是非素数(已知素数的倍数)的元素设为0。如果所有更小素数的倍数都已设为0,a[i]仍然为1,则可知它是素数。(话很长)

    #include <stdio.h>
    #define N 1000 //改这里就好了
    
    
    
    main()
    {
        int i, j, a[N];
        for (i = 2; i < N; i++) a[i] = 1;
        for (i = 2; i < N;i++)
            if (a[i])
                for (j = i; i*j < N; j++) a[i*j] = 0;
            for (i = 2; i < N;i++)
                if (a[i]) printf("%4d
    ", i);
            
            getch();
    }
  • 相关阅读:
    JSONP原理
    什么是跨域,如何解决
    工程化与模块化开
    vue双向数据绑定原理
    vuex原理
    BFC 原理
    http状态码 301、302区别
    用户页面打开很慢,有哪些优化方式?
    webpack打包
    Promise 原理
  • 原文地址:https://www.cnblogs.com/elliottc/p/6539399.html
Copyright © 2011-2022 走看看