精华内容
下载资源
问答
  • 求一定范围内的素数个数

    千次阅读 2011-11-27 15:03:41
     // i是合数,请歇着吧,因为您的工作早有您的质因子代劳了  if (0 == flag[i]) continue;  // 从i的两倍开始过滤,而不是从前面的已经被其他素数筛掉了,另外变乘法为加法,加法效率比乘法快   for (j=...

    #include <iostream>
    using namespace std;
    int ssh(int n);
    /*
    方法1)太笨了,当k==100000十万条时,耗时3秒,当k=100000000时,耗时3*1000=3000秒,也就是50分钟啊,天哪,效率太低了
    所以要用2)筛选法,筛法的执行效率非常高. 亿以内的素数只要大约2秒中的时间
    */
    int main()
    {
     int k,i=3,j=0;
     cin>>k;
     cout<<k;
     if(k==1)
     {
      cout<<0<<endl;
      system("Pause");
      return 0;
     }
     if(k>=2)
      j++;
     while(i<=k)//只判断奇数,偶数肯定不是的,偶数中除了2是素数,其他都不是
     {
      if(i==3||i==5||i==7)
       j++;
      if(i%3!=0&&i%5!=0&&i%7!=0)//奇数中,能除尽3,5,7的也不是素数,要排除,减少算法复杂度
      {
       j=j+ssh(i);
      }
      i=i+2;
     } 
     cout<<j<<endl;
     system("Pause");
     return 0;
    }

    int ssh(int n)
    {
     for (int m=2;m<=n/2;m++)
     {
      if(n%m==0)
      {
       return 0;
      }
     }
     return 1;
    }

    ——————————————————————---——————————————————————————————————————————————

    /*方法2)筛选法*/

    #include <iostream>
    #include <math.h>
    using namespace std;
    int CompositeNumFilterV2(int n);
    /*
    方法1)太笨了,当k==100000十万条时,耗时3秒,当k=100000000时,耗时3*1000=3000秒,也就是50分钟啊,天哪,效率太低了
    所以要用
    2)筛选法,筛法的执行效率非常高. 亿以内的素数只要大约2秒中的时间
    素数分布定律 1000000个数中最多80000个素数(n/ln(n))
    [100000]以内素数个数:9592, 计算用时:n太小,时间精度不够
    [1000000]以内素数个数:78498, 计算用时:31毫秒
    [5000000]以内素数个数:348513, 计算用时:453毫秒
    [10000000]以内素数个数:664579, 计算用时:1062毫秒
    [100000000]以内素数个数:5761455, 计算用时:4973毫秒

    */
    int main()
    {
     int n;
     cin>>n;
     int i=CompositeNumFilterV2(n);
     cout<<i<<endl;
     system("Pause");
     return 0;
    }

    int CompositeNumFilterV2(int n)
    {
     if(n==1)
     {
      return 0;
     }
     int i, j;
     // 素数数量统计
     int count = 0;
     // 分配素数标记空间,明白+1原因了吧,因为浪费了一个flag[0]
     bool* flag = new bool[n+1]; //这个要是用int* flag=new int[n+1],就会溢出,因为int占4bit,则4*1000000000=4M左右的内存,而用bool或者char,则少得多

     // 初始化素数标记,要高效点咯
     flag[2]=1;
     // 注意是i<n不是上例中的i<=n了
     for (i=3; i<n; i++)
     {
      //flag[i]=(i%2!=0)?1:0;//偶数直接值0,奇数值1,2特殊处理,但是这个有判断操作,效率肯定没有直接赋值快,所以用下面的
      flag[i++]=1;
      flag[i]=0;
     }

     // n为奇数
     if (n%2 != 0)
     {
      flag[n] = 1;
     }

     // 从3开始filter,因为2的倍数早在初始化时代就干掉了
     for (i=3; i <= sqrt((double)n); i++)
     {
      // i是合数,请歇着吧,因为您的工作早有您的质因子代劳了
      if (0 == flag[i]) continue;

      // 从i的两倍开始过滤,而不是从前面的已经被其他素数筛掉了,另外变乘法为加法,加法效率比乘法快 
      for (j=i*i; j <= n; j+=i)
      {
       flag[j] = 0;
      }
     }

     // 统计素数个数
     for (i=2; i<=n; i++)
     {
      if (flag[i]) count++;
     }
     // 释放内存,别忘了传说中的内存泄漏
     delete[] flag;

     return count;
    }

     

    展开全文
  • 想用win8里的Toast推送通知,从MSDN搜到了Sample,比葫芦画瓢,但是却无法添加windows引用(Windows.winmd),百度一下才知桌面应用程序中是无法直接调用这个API的,必须做一些工作,下面先说如何桌面应用中调用...

         近来,在做一个桌面应用,想用win8里的Toast推送通知,从MSDN搜到了Sample,比葫芦画瓢,但是却无法添加windows引用(Windows.winmd),百度一下才知在桌面应用程序中是无法直接调用这个API的,必须做一些工作,下面先说如何在桌面应用中调用WinRT提供的API,

                 1,创建一个基于.Net4.5的项目,转到项目文件夹,接着卸载此项目

            2,在项目文件夹中找到后缀为.csproj项目工程文件,打开后添           加<TargetPlatformVersion>8.0</TargetPlatformVersion>标签

            3,从新加载项目,windows就出现了,如图:

                 4,最后还要引入System.Runtime.dll 此dll的位置一般在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades\  

                     

              全部做完后,编译出现RT错误,详细如图:

              不知如何解决,百度无果,反复研读错误提示,值不在预期范围内一句让我惊醒,根据经验这可能是ClickOne的安全问题,打开项目属性,取消勾选 启用ClickOne安全设置 ,重新编译通过……

          

    展开全文
  • 此时就需要有一个表可以提供一段时间范围内的所有日期。 看这篇文章以前呢,得明白几个知识点,存储过程(如何创建,如何调用,好处是什么)、变量(如何创建,赋值,使用)、DATE_SUB、DATE_FORMAT、 网上...

    前言:工作当中有一个场景是数据库存了一些数据,但是日期是零碎的,只有当用户进行了相应日期的操作才会有对应记录的生成。此时有一个需求就是要让用户看到哪个日期有操作,哪个日期没有操作。此时就需要有一个表可以提供一段时间范围内的所有日期。

    在看这篇文章以前呢,得明白几个知识点,存储过程(如何创建,如何调用,好处是什么)、变量(如何创建,赋值,使用)、DATE_SUB、DATE_FORMAT、

    在网上查找资料,看到的有三种方法,总结如下

    一、创建存储过程(即创建一个临时的日历表。我是这样理解的),

    例一:

    以下是我从别人的博客抄过来的例子,这个例子是将日期范围写在创建的逻辑当中,感兴趣的伙伴可以试一下执行,当执行了调用的语句可以查看自己数据库中是否多了一张表。

    例二:

    这是另外一个创建存储过程,不同于以上的例子,这个可以直接在调用的时候给时间范围。对于日期范围需要和用户交互,需要灵活更改的,这个方法更加适用

    DELIMITER $$
    DROP PROCEDURE IF EXISTS create_calendar $$
    CREATE PROCEDURE create_calendar (s_date DATE, e_date DATE)
    BEGIN
     
    	SET @createSql = 'CREATE TABLE IF NOT EXISTS calendar (
                          `date` date NOT NULL,
    		       UNIQUE KEY `unique_date` (`date`) USING BTREE
                       )ENGINE=InnoDB DEFAULT CHARSET=utf8'; 
    	prepare stmt from @createSql; 
    	execute stmt; 
     
    	WHILE s_date <= e_date DO
    		INSERT IGNORE INTO calendar VALUES (DATE(s_date)) ;
    		SET s_date = s_date + INTERVAL 1 DAY ;
    	END WHILE ; 
     
    END$$
    DELIMITER ;
     
    CALL create_calendar ('2018-03-01', '2018-12-30');
    

    总结:使用存储过程的优点网上随便一查就能查到,以上这两种方式都能生成一张临时表,里面存放着你自己指定的时间范围内的所有日期。根据自己业务需求,可以选取其中一种方法,生成临时表,再与你的数据进行各种操作得出某段时间范围内日期齐全的数据。

    二、(变量控制)指定数据条数,生成连续的数字或日期

    这个标题说得比较抽象了,我自己都不懂自己在表达什么。看例子吧

    例一:

    SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL xc MONTH), '%Y-%m') as date
    FROM ( 
    			SELECT @xi:=@xi+1 as xc from 
    			(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc1, 
    			(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc2,  
    			(SELECT @xi:=0) xc0 
    ) xcxc

    以上代码的作用就是生成当月前25(包括当月)个月的日期。具体解释如下

    总结:在如上的例子当中,涉及到的知识点是变量,DATE_SUB(),DATE_FORMAT().使用以上方法的好处就是不用创建存储过程,也不涉及到任何表。缺点就是数据的条数控制并不灵活,不能和用户之间形成互动,即不能自定义日期区间,只能控制数据条数。

    三、(利用现有的表做操作)

    要求是这个表中的数据足够庞大,好处是不涉及存储过程,不涉及变量,且能自定义日期区间。

    例一:

    总结:这个是我选择的方法,因为业务需要,我不能用创建存储过程的方法,再加上我需要和用户做交互,即需要指定日期范围,而不是数据条数,所以,前两种方法都被排除了,我就选择的最后这种。

    写在最后,以上三种方法基本上可以满足%80以上的伙伴的需求了,根据需要不同,平台不同,选择适合自己的方法。如有问题,欢迎指正,感激不尽,望共同进步。

    展开全文
  • 工作范围说明书与需求规格说明书

    千次阅读 2012-07-18 21:42:13
    做项目的过程中,经常工作范围说明书与需求说明书,但是这两者的区别与作用是什么呢? 首先,工作范围说明书简单地说,就是对项目干系人有约束作用的、为了说明项目工作范围的说明文件。项目工作的范围就是指...

    在做项目的过程中,经常在说工作范围说明书与需求说明书,但是这两者的区别与作用是什么呢?

    首先,工作范围说明书简单地说,就是对项目干系人有约束作用的、为了说明项目工作范围的说明文件。项目工作的范围就是指为了成功达到项目的目标,项目所规定要做的事项。确定项目工作的范围,就是定义项目管理的工作边界,确定项目的目标和可交付成果。

    其次,工作范围说明书说明的内容不仅仅是业务需求,而是包含了项目管理等的工作需求、业务需求、实施需求等的信息。   

        我们来看如下的一个项目过程图:

    谈谈工作范围说明书与需求说明书

     在这个图中,我们可以看到当销售发现销售机会后并立项后,就需要销售与售前工程师共同与客户确定工作范围说明书。

    这个时候,工作范围说明书,需要回答的问题是什么呢?

    第一、需要回答该项目产生的产品或服务的范围是什么?也就是说该项目产生的产品或服务包含什么功能和特征?

       第二、需要回答为了实现该项目产生的产品平或服务的功能和特征必须要做的工作以及必须产生的可交付成果;

         

       从以上的内容,我们可以看到,项目工作范围说明书包含了做什么(项目的目标)和做后产生的可交付成果。

    当我们知道了做什么以后,就需要来规划怎么做。这时候,系统的解决方案,就出场了。

    解决方案说明的是为了事项项目的目标和提交这些可交付成果,我们该怎么做。在这里面,谈的更多的是框架问题。例如:采用的技术、编程语言、网络架构、管理规范等等。

    当我们把工作范围说明书与解决方案编写完成后,我们也就回答了我们要做什么,怎么做的问题,接下来需要回答采用确定的方法来实现项目的目标后,需要花费的资源,资源包括时间、人力和金钱,也就是估算需要多少人、多长时间和使用多少钱。

    这样,项目也就在一种可控的范围之中进行了。

    通过以上的描述,我们可以得出项目工作范围说明书作用的结论:

    1、  提高项目的费用、时间和资源估算的准确性。

    2、  有利于清楚的定义各方的责任。  

    3、  提高了项目进度衡量和控制的基准。

    项目的范围定义清楚了,具体工作的内容也明确了,产品的特征和可交付成功也定义明细了,这时候对使用的费用、时间和资源的估算就会更精确,规避了拍脑袋定义的项目风险;

     

    那么,当把工作范围都定义清楚后,软件需求说明书的作用和意义又在哪儿呢?

    首先,软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。它的编写依据就是工作范围说明书、解决方案以及与用户的需求采集,它又将会成为概要设计的依据。

    其次,我们可以看到,软件需求说明书是在商务谈判后,才开始进行编写的。

    这是因为在商务谈判之前,项目谁来做还不清晰、有些项目因为管理或同行竞争的关系,也存在保密性,各方都不可能提供太多的信息和投入太多的资源,所以工作范围说明范围书的内容还是一个框架性的内容,而需求是一个明细的内容,因此工作范围说明书并不能代替需求。

    另外,需求说明书说明的内容,主要是对项目产品特征和特性进行描述,而不牵涉双发的责任和义务;

     

    最后我们来举一个例子:

    例如,A公司要做一张桌子,请B公司来做,通过与B公司沟通,知道了A公司做这张桌子总经理的办工桌,这张桌子的长是 3米宽1米,桌子需要用红木做材料,不能使用螺丝,还需要有一个抽屉,抽屉是带密码锁的,这个桌子做好后,A公司自己的工人会来搬,并且这个桌子需要在与B公司签订合同后2周内做完,做完后需要有这张桌子的原材料来源证明。

    这就是一个工作范围说明书,回到了几个问题:

    1、  为什么做这张桌子?总经理的办公桌。

    2、  桌子特征是什么?长3米宽1米、红木材质、有抽屉密码锁。

    3、  双发的责任和义务?A公司负责搬运,B公司负责生产。

    4、  可交付成果是原材料来源证明。

     

    接着,B公司告诉A公司,做这张桌子请国际知名的璟和国际设计公司设计完成并通过您们的审核后,请与该设计公司合作过多次的、大兴安岭请丈二和尚木匠做项目经理,并雇佣两个搬运工,在大兴安岭进行生产,为了保证质量,我们准备聘请中国质量监督管理协会进行全程监督。

    这就是一个解决方案(怎么做)。

     

    当商务合同完成后,B公司与A公司继续沟通,确定了这张桌子需要红颜色,并且能够承受200公斤的重量、桌子的边角需要是圆形的。在需求里不在包含双方的责任和义务,这是与工作范围说明书最大的差异。

     

    以上大概说了一下关于工作范围说明书和需求说明书的差异,规范的工作,是对甲乙双方是负责任的表现,否则项目的失败,双发都无利可图,何谈合作?双赢其实是做一切工作的出发点。

    展开全文
  • 一、组的类型 活动目录中,有两种不同类型的组:通讯组和安全组。  通讯组:其存储了用户的联系方式,用来实现批量用户账号的通信,例如群发邮件、视频会议等,它没有安全特性,可...域中,根据组的工作范围
  • 我有一个大学校友,他是去年 8 月份才开始正式学习 Java 的,之前一家私企工作了 5 年,工资一个月只有到 6000 块,日子过得很苦逼,毕竟郑州的房贷压力也小,公司就那么大,除非领导离职,否则根本看到晋升...
  • “十不干” 无票的不干。 工作任务、危险点不清楚的不干。 危险点控制措施未落实的不干。 超出作业范围未经审批的不干。... 工作负责人(专责监护人)不在现场的不干。 “十个严禁” 严禁特种...
  • 第5章 项目范围管理确保项目做且只做所需的全部工作定义和控制哪些工作应该包括项目,哪些应该包括项目内范围的定义: 产品范围——某项产品、服务或成果所具有的特性和功能 项目范围——为交付具有规定特性...
  • iBeacon工作原理(How do iBeacon work?)

    万次阅读 2014-09-02 12:28:10
    这种技术能够实现室内定位,让你的手机能够知道是否处于一个Beacon的范围内。使用这种技术能够产生很多应用程序:比如帮助你停车场中找到你的汽车,或者零售店中根据所处位置提供优惠券或者其它一些位置相关的...
  • 项目范围管理

    千次阅读 2019-04-29 00:28:48
    > # 范围管理 过程 输入 输出 工具 技术 ...项目范围管理 ...1.编制范围管理计划过程 ...定义、确认、控制项目范围的过程进行描述...4.创建工作分解结构 把整个项目分解为较小的、易于管理的组成部分,自上而下...
  • OMJJ 复制移动类型,进入界面选择范围时是选择 601 到 999 ,我是想复制 601 成 “Z61...老来经过分析得知:Z61 并不在 601 - 999 这个范围, 进入界面时将选择范围改成 601 到 ZZZ ,再复制保存时就通过了。
  • 前提: 公司现在可能给你调改,因为人手有限,公司必须要求你那个时间完成! 我的个人意见:看里项目结束还有多少时间了?而且还要看是什么原因引起的!1 项目刚开始,属于我们估算错误,那么增加人员吧,把...
  • kd-tree : k近邻查询和范围查询

    万次阅读 2017-09-11 16:07:13
    想象一下我们有如下两个任务: 我现在想骑一辆小黄车,我想查找离我最近的k辆小黄车. ...后者计算几何中称为范围查询,例如查询某个平面区域的点的个数.kd-tree是什么玩意儿kd-tree就是高维平衡树…… kd-tre
  • 共享单车工作原理

    万次阅读 2017-08-25 18:04:28
    这里说的“共享单车工作原理”主要针对于单车上的那个智能车锁。当然,用过共享单车的人都知道——不是所有共享单车都有智能车锁。所以,我们先来讨论一下使用智能锁和机械锁的利弊:(1)机械锁(使用固定密码) ...
  • 核心内容 什么是番茄工作法;...他大学生活的头几年,曾一度苦于学习效率低下,于是他做了个简单的实验:我就信我能专注10分钟。他找来形状像番茄的厨房定时器,调到10分钟来督促自己专注。...
  • 冬日的第一天--一个女程序员第六年工作总结

    万次阅读 热门讨论 2010-11-07 02:54:00
    又到一年写总结的时候后。工作这些年,年年雷打不动一篇总结让初初参加工作的这一天刻我的脑海中。...另外现在的心境也是工作多年后才有的,并合适刚参加工作的同学们,你们看我前几年的总结比
  • 本文章由cartzhang编写,...Kinect的视口是作用很多,仅仅是看到手的动作,而且可以看到完整的人像。6个人可以被追踪到,其中包括两具骨骼图像。感应器有感应颜色的RGB(红、绿、蓝)摄像头和用来测量深度的红外发射
  • 变量是工作流实例的一部分,表示实例的数据。变量有一个名称和一个JSON值。变量的可见性由变量范围定义。 Variable Values ...可以在工作流实例中访问变量,例如,在输入/输出映射或条件中。在...
  • 按住tab键页面轮流切换选项,直至跳到想要的按钮上。缺点是无法看到自己想要的键,需要移动对话框确认。 方法二:(Win10)调整缩放与布局,分辨率调到最高(默认),缩放从150%(推荐)调到了125%. 调整...
  • 先做一个简单的表格,为了区分锁定与非锁定,我把棕色区域设置为锁定区,也就是用户能修改数据;粉红色区域为非锁定区域,可以自由修改数据,表格如表1所示: 现在我想把表中棕色的区域锁定,...
  • 稳压二极管工作原理与使用

    万次阅读 多人点赞 2018-06-27 13:44:37
    稳压二极管(zener diode),也称齐纳二极管,与普通二极管不同的是,稳压二极管工作在反向击穿状态时,它的工作电流很大范围内变化而其两端的电压基本不变。 它的原理图符号有如下图所示的两种: 标称稳定...
  • Postman这个Documentation功能对于前后端分离的团队,接口开发团队来说真的是提升沟通效率和工作效率的一个利器。废话多说,直接上干货来看如何通过Postman来生成接口文档和发布接口文档,以及如何定制化文档中的...
  • 稳压二极管工作原理

    千次阅读 2017-05-15 22:46:59
    它是利用二极管被反向击穿后,一定反向电流范围内反向电压随反向电流变化这一特点进行稳压的。  稳压二极管是一个特殊的面接触型的半导体硅二极管,通常由硅半导体材料采用合金法或扩散法制成。其伏安特性...
  • 在网上搜索了一些资料,说是显示器分辨率的问题,于是想打开系统设置重新调整一下显示器的分辨率,可是打开设置后,窗口却看不到,也不在屏幕范围内,想设置分辨率也设置不了,怎么办?后来想...
  • 建立劳动关系,应当订立书面的劳动合同,如果没有签订书面劳动合同,应当自用工之日起的一个月订立书面劳动合同,换言之,如果进入单位,用工单位应当一个月与劳动者签订书面的劳动合同。如果签订劳动合同,...
  • ArcGIS重新计算要素类范围

    千次阅读 2017-06-15 08:57:16
    日常的工作中,很多时候,空间数据的四至范围经过多次操作,包括空间数据的编辑、导入、导出等,图层要素类的四至范围会发生变化,导致再对图层进行全图居中或者定位的时候产生误差,ArcGIS提供了重新计算图层...
  • 范围管理首先要定义和控制项目包括什么、包括什么。通常包括制定一个项目范围管理计划,以规定如何被定义、检验、控制范围、创建与定义工作分解结构(WBS);创建工作分解结构(WBS),编制一个详细的项目范围...
  • 软件测试工作流程概括与总结

    万次阅读 多人点赞 2018-08-08 23:37:45
    最近为面试新工作做准备,所以想想整理一下软件测试的基本工作流程,大致梳理一遍,这样也便于自己面试过程中可以沉着的面对面试管的测试工作如何进行的问题。 首先,作为测试人员需要学习并了解业务,分析需求...
  • 第四部分 项目范围管理

    万次阅读 2018-01-13 11:12:35
    范围:确定要做什么,不要做什么; 项目范围管理:确保项目做且只做成功完成项目所需的全部工作。...适应型/敏捷新型生命周期:通过多次迭代开发可交付成果,不在每次迭代开始时定义和批准详细的范围
  • 过程质量保证的范围是什么? 过程质量保证是指不同于测试的、主要针对过程和中间工作产物的质量保证,一般而言,早年间的过程质量保证根据最早的CMM,也称为软件质量保证,缩写为SQA。现在最新的CMMI将其对应的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 932,060
精华内容 372,824
关键字:

不在工作范围内的事