博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次作业 阅读程序有符号 64 位整数数据类型
阅读量:5809 次
发布时间:2019-06-18

本文共 1298 字,大约阅读时间需要 4 分钟。

这是一个C++程序,,,额,看着头痛(额,说实话,由于中间有一年多没上过学,再加上最开始也学的很一般,读起来累)不过什么东西慢慢来总能越来越好

问题一:

答:

首先Int64 i 是表示有符号 64 位整数数据类型,这个数i范围很大 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )。。。。我表示大学这么几年,程序里面遇见这种情况的次数少

由此可见学校的东西和实际毕竟还是差距很大

然后看for循环

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;
          }

这是表示在程序去找某个数的时候执行的过程,如果一个数能让在rg数组的数无法进行整出,那么就标记下,最多两次

之后的

if ((hit == 2)&& (hit1+1==hit2))

        {
          Console.WriteLine("found {0}", i);
        }

表示,如果在执行过程中发现了这两次无法整除的情况在rg数组里面的数相邻的话,那么就输出那个数

 

问题二

答:首先作为第一判断,因为i范围足够大,那么大胆的预测这个数肯定存在,只是需要时间找而已。

不过说实话,我觉得奇怪的地方是这里,我不太清楚在那个for循环里面的i值是怎么取得

那从小开始的话,那么2就已经满足了,因为在数组里面的第二个和第三个数就比他大,就不能整出,而且hit==2,,,那不就直接结果了,

因为从程序看,那就有这样的情况:第二和第三个数都不能把i整出,那程序就不继续执行了,,,无从判断后面的第四第五个数是不是也不能把i整除

额,当然,也有可能是压根没看懂,,,,

如果是后面要全执行,那就要求要被数组中连续两个数整出而可以被其他的28个数整出,那这样的的话,就是吧所有的数分解因子,在怎么算,但是具体这个数是多少,,,额,还真不会算。但是因为数组就是2到31,所以这个数最大也就是2x3x4x5.........x30x31肯定小于int64,所以肯定存在

 

问题3

答:额,因为数是多少我不知道,所以这一问就更不用说了,,,

 

问题4

答:前几问还能大概知道方向,这一问,,,,完全不知道

 

转载于:https://www.cnblogs.com/linweixiya/p/5296034.html

你可能感兴趣的文章
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
02-创建hibernate工程
查看>>
Scrum之 Sprint计划会议
查看>>
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
10g手动创建数据库
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
白话算法(7) 生成全排列的几种思路(二) 康托展开
查看>>
d3 v4实现饼状图,折线标注
查看>>
微软的云策略
查看>>
Valid Parentheses
查看>>
【ES6】数值的扩展
查看>>
性能测试之稳定性测试
查看>>
ES6的 Iterator 遍历器
查看>>
2019届高二(下)半期考试题(文科)
查看>>
【REDO】删除REDO LOG重做日志组后需要手工删除对应的日志文件(转)
查看>>
nginx 301跳转到带www域名方法rewrite(转)
查看>>