第三周第二次作业

已知程序回答问题

using System;

using System.Collections.Generic;

using System.Text;

namespace FindTheNumber

{
  class Program
  {
    static void Main(string[] args)
    {
      int [] rg =
          {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
           20,21,22,23,24,25,26,27,28,29,30,31};
      for (Int64 i = 1; i < Int64.MaxValue; i++)
      {
        int hit = 0;
        int hit1 = -1;
        int hit2 = -1;
        for (int j = 0; (j < rg.Length) && (hit <=2) ; j++)
        {
          if ((i % rg[j]) != 0)
          {
            hit++;
            if (hit == 1)
            {
              hit1 = j;
            }
            else if (hit == 2)
            {
              hit2 = j;
            }
            else
              break;
          }

        }
        if ((hit == 2)&& (hit1+1==hit2))
        {
          Console.WriteLine("found {0}", i);
        }
      }
    }
  }
}

1.这个程序要找的是符合什么条件的数?

在rg数组的30个数中,这个i能被其它28个数整除,而不能被其中两个相连的数整除。刚开始自己没能看懂这个程序,参考了http://blog.csdn.net/jcwKyl/article/details/3889802后理解了这个程序的意义。本程序用hit、hit1、hit2来控制输出,hit为i % rg[j]) != 0的次数,hit1、hit2为数组下标,(hit == 2)&& (hit1+1==hit2)代表有两个不能整除的数并且两个数连续,若存在这样的数就输出。

2.这样的数存在么?符合这一条件的最小的数是什么?

程序所要寻找的是这样的数:这个数i不能被2-31这30个数中的两个相邻的数整除,但能被其它28个数整除。所以,这个i肯定是其它28个数的最小公倍数的整数倍。然而i不能被两个相邻的数整除,所以必然是分解质因子后要么i的质因子中不包括这两个数的质因子,要么是i的质因子的次数小于这两个数中相同质因子的次数。由计算得出,那两个不能整除的连续的数就是16和17。所以符合这一条件的最小的数其余数的最小公倍数,23*33*52*7*11*13*19*23*29*31=2123581660200。

3.在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间精确到分钟(电脑:单核CPU 4.0G Hz,内存和硬盘等资源充足)。

大概10分钟

时间: 2024-10-11 05:19:27

第三周第二次作业的相关文章

三周第二次课(12月26) 3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令

三周第二次课(12月26) 3.4 usermod命令3.5 用户密码管理3.6 mkpasswd命令 usermod命令: 用户和工作组管理: usermod命令用于修改用户的基本信息. usermod命令不允许你改变正在线上的使用者帐号名称. 当usermod命令用来改变user id, 必须确认这名user没在电脑上执行任何程序. 你需手动更改使用者的crontab档. 也需手动更改使用者的at工作档. 采用NIS server须在server上更动相关的NIS设定. 语法: usermo

三周第二次课 3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令

三周第二次课3.4 usermod命令3.5 用户密码管理3.6 mkpasswd命令 > 3.4 usermod命令 usermod 更改用户属性的命令 -u -g -d /home/ss -s /sbin/nologin useradd -G 组名 用户名 增加扩展组 id aming 查看用户的ID(Uid Gid 扩展组ID) 3.5 用户密码管理 passwd set_uid 普通用户更改密码 passwd root用户更改密码 > 第二行:!!:用户密码是空的 用户不能登录 第二行

第三周网络攻防作业

壹 Kali视频学习(5-10节) 首先根据视频的讲述,进行kali虚拟机的网络配置.并最终ping成功.结果如下所示:arping的命令执行结果如下:nbtscan命令执行如下:对目标进行waf进行探测,结果如下:对目标是否存在负载均衡进行探测结果如下:nmap普通简单扫描nmap加参数,使结果详细输出:自行设置扫描端口号:测试主机是否在线:测试网段内主机的在线情况:操作系统检测:万能开关扫描:banner抓取工具:常规主动指纹识别工具:xprobe2指纹识别工具:被动指纹工具pof:web指

2018.4.10 三周第二次课

磁盘挂载 mount (挂载点) 概念:mount命令可以查看当前系统已经挂载的所有分区.分区文件系统的类型.挂载点及一些选项等信息: 如果想知道某个已挂载分区的文件系统类型,直接用mount命令查看即可: 而未挂载的分区,可以使用blkid命令查看,后续会讲. 选项: 常用的有-a.-t.-o,在/etc/fstab下有讲解.可以man mount看一下 我们先把添加的硬盘格式化 mkfs.xfs -f /dev/sdb [[email protected] ~]# mkfs.xfs -f /

三周第二次课(2月6)

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 3.4 usermod 更改用户权限的属性  可以更改用户的UID(#usermod -u 111 username),GID(#usermod -g ID或者组名 username) #usermod -d 路径 username 家目录 #usermod -s /sbin/nologin username #id aming uid=1000(aming) gid=1000(aming) 组=1000(aming

把工作当恋人-第三周第二天

因为最近一段时间公司赶项目,每天加班到9:30以后,所以基本每天回家就洗洗睡了. 有一个星期没来博园记录了. 上个星期,主要改了一些项目需求,然后公司有做APP接口. 原本只是两个网页的跨域访问交换数据的问题,因为我的能力有限,只能现在本地模拟了. 压力虽然依然很大,但是比初来的时候适应了很多.最近公司要求的跟一位做安卓的新同事测试,项目的数据交换,虽然不太懂安卓的原理,但是觉得确实很神奇. 当然,跨域这个问题经过几天的网上查阅,终于搞清楚是怎么回事了,在没有设置权限的时候确实成功从他域获得了数

第一周第二次作业

2. 软件有很多种,也有各种分类办法: ShrinkWrap (在包装盒子里面的软件,软件在CD/DVD上): Web APP (基于网页的软件): Internal Software (企业或学校或某组织内部的软件): Games (游戏): Mobile Apps (手机应用): Operating Systems (操作系统): Tools (工具软件) 选取一类软件, 请分析: 1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么?

Linux学习笔记第三周第二次课(2月6日)

3.4 usermod命令 更改用户属性usermod, 更改UID,命令为#usermod -u 编号: 更改GID,命令为#usermod -g 编号: 更改用户家目录,命令为#usermod -d 编号: 更改用户shell,命令为#usermod -s 编号: 设置用户扩展组,命令为#useradd -G 组名[,组名]: 查看aming用户UID,GID,扩展组,#id aming : 锁定用户不能使用,命令为#usermod -L aming: 解锁用户,命令为#usermod -U

2018.4.3三周第二次课

usermod 设置扩展组 概念:更改用户属性的一个命令. 用法:usermod [选项] 后面跟你需要操作的内容 [用户名] 选项: -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE -f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态 -g, --gid GROUP 强制使用 GR