首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过写“猜数字”游戏学习 Fortran | Linux 中国

我在空闲时用 Fortran 编写了一个“猜数字”游戏,其中计算机会在 1 到 100 之间选择一个数字,并让我猜这个数字。程序会一直循环直到我猜对了为止。...“猜数字”程序练习了编程语言中几个概念:如何为变量赋值、如何编写语句以及如何执行条件判断循环。这是学习新编程语言时一个很好实践案例。...将此随机数乘以 100 以生成 0 到 99.999…… 之间数字,然后加 1 得到 1 到 100.999…… 之间值。...INT 函数将结果截断为整数;因此,变量 NUMBER 就是一个介于 1 到 100 之间随机数。 程序会给出提示,然后进入一个循环。...等于不等于分别是 .EQ. .NE.。 在每次循环中,程序都会验证用户猜测值。如果用户猜测值小于随机数,程序打印 TOO LOW,如果猜测大于随机数,程序打印 TOO HIGH。

1.9K30

sql server中部分函数功能详解

该范围是由 data_type 确定。有关详细信息,请参阅“备注”部分。 15. dateadd() 定义用法 DATEADD() 函数在日期中添加或减去指定时间间隔。...b指定小数点右边可以存储十进制数字最大个数。小数位数必须是 0 到 a之间值。默认小数位数是 0。...57:47.157 SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM SELECT CONVERT(varchar...,select * from table是查询表所有数据详细信息 27.rand()函数 SQL RAND函数调用​可以产生随机数 Select rand()获取介于01之间一个数(小数) Select...rand()*10获取010之间一个数(小数) Select str(rand()*10)获取010之间一个数(整数) Select str(rand()*10000) 获取010000之间一个数

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

从零开始学Python,带你手把手实战(一)

在这个专题当中我会布置一个简单小项目,带着大家实际动手实践一下完成这个项目。当然这个难度也是浅入深,所以刚开始肯定是新手向,基本面向纯小白。如果你已经有一定编程能力,还请不要嫌弃太简单。...好了,废话不多说,开始进入今天课题。 课题 今天课题是用Python实现一个猜数字游戏,所谓数字游戏就是让我们在心里设置一个数字,然后让电脑来猜。...每次电脑猜测数字之后,我们会告知电脑猜数字是高了还是低了,如此循环往复,直到电脑猜出来为止。 要完成这个课题呢,需要了解Python基础输入输出以及循环写法,也需要了解二分法。...while-循环 这一次我们还需要用到while循环,while循环意思也很简单,也就是while关键字后面会跟上一个条件当条件为真实就会一直执行,直到不再为真结束。...写出来就是: while rule1: pass 关于breakcontinue关键字我们也先不讲,等后面用到了再说。 基本上用到知识点都在这里了,大家不妨亲自动手写写看。

48120

剑指Offer题解 - Day28

「剑指 Offer 57. 为 s 两个数字」 力扣题目链接[1] 输入一个递增排序数组一个数字s,在数组中查找两个数,使得它们正好是s。如果有多对数字等于s,则输出任意一对即可。...示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target...遍历途中使得目标值减去当前值,如果哈希表中存在该值,则意味找到了两数,返回相应值即可。 这样做的话,时间复杂度空间复杂度均为O(n) 。但是没有充分利用题目的条件:有序数组。...分析: 由于数组是已排序增序数组,因此可以通过声明指针分别指向数组头部尾部,并不断收缩来进行求解。 每次循环时,计算当前两数之和。...如果总和小于目标值,需要右移左指针增加总和;如果总和大于目标值,需要左移右指针减少总和;如果总和等于目标值,返回两数组成数组。 如果循环结束也没有找到,则返回空数组。

18810

笨办法学 Java(二)

每次调用这个函数,它都会产生一个新随机double,范围在[0,1)之间(也就是说,它可能正好是0,但永远不会正好是1,而且很可能是介于两者之间某个值)。...不幸是,我经常不想要一个来自[0,1) double。想象一下一个猜数字游戏,你说“我在想一个小数在零之间数字:试着猜猜看!”这不好玩。...因此,a、b c 值始终为 0 到 99 整数值。 在第 32 33 行,我尝试表明双精度浮点数到整数转换不四舍五入;小数点后数字被截断。...人类(希望)输入一个数字,然后存储到变量guess中,覆盖该变量中先前猜测。 然后程序循环回到第 16 行并再次检查条件。如果条件仍然为真(他们猜测仍然不等于秘密数字),则整个循环体将再次执行。...n Final score: 3 while循环 do-while 循环之间只有两个区别。

12410

前端学习数据结构与算法系列(五):冒泡排序理解与实现

比较完一轮后,如果当前轮数不等于序列长度,则继续末尾开始比较。 图解示例 如图所示,将下列数字按从小到大顺序进行排列。 数据末尾开始比较相邻两个数字大小 比较后,发现6<7,故交换位置。...不断对数字进行交换,直到当前比较数字到了最左边,无相邻数据可比较,序列中最小数字就会移动到最左边。 继续下一轮排序,数据末尾继续进行比较,直到比较到数据第2个位置为止。...当比较到数据左边第2个位置时,序列中第2小数字也就到达了指定位置。 重复上述操作,直到当前比较数字位置为当前比较次数,即排序完成。...- (当前循环次数+2) 得到下标后,分别获取当前比较值与之左侧相邻值 判断当前比较值数组下标是否等于当前轮数 如果相等则轮数自增1,如果当前轮数不等于数组长度则让循环继续执行 如果不相等,则比较当前值与左侧相邻值大小...本来对我单层冒泡很自信,认为我写单层效率肯定比双层效率高,结果啪啪打脸,我拿我写网上双层循环在控制台跑了一遍,才发现我写简直就是垃圾。

69520

笨办法学 Python3 第五版(预览)(三)

为什么 for i in range(1, 3): 只循环两次而不是三次? range() 函数只生成第一个到最后一个数字,不包括最后一个。因此,在上述情况下它在两处停止,而不是三处。...这一切都是关于构建你程序,让 Python 知道你意图。如果你没有理解这个概念,那就回去多做一些关于if语句、函数for循环工作,直到你理解为止。...常见学生问题 for-循环**while-循环有什么区别?for-循环只能在“集合”上进行迭代(循环)。while-循环可以进行任何类型迭代(循环)。...然而,while-循环更难正确使用,通常可以用for**-循环完成许多任务。 循环很难。我该如何理解它们? 人们不理解循环主要原因是因为他们无法跟随代码“跳跃”。...保持在写一些代码、运行测试并修复直到它有效循环中工作。 将这个任务清单上划掉,然后选择下一个最容易任务并重复。 这个过程将帮助你以一种系统一致方式来开发软件。

12710

JavaScript-数据类型转换

因为 JavaScript 是动态类型,这样赋值不会提示出错。 1.2 加法运算符(+) 涉及加法运算符(+)数字字符串表达式中,JavaScript 会把数字值转换为字符串。例如 ?...4.3 返回值 (1)如果参数是 Date 对象,Number() 返回 1970 年 1 月 1 日至今毫秒数。 (2)如果对象值无法转换为数字,那么 Number() 函数返回 NaN。...要被解析字符串。 radix 可选。表示要解析数字基数。该值介于 2 ~ 36 之间。 5.3 提示注释 (1)只有字符串中第一个数字会被返回。 (2)开头结尾空格是允许。...该函数指定字符串中首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字末端为止,然后以数字返回该数字,而不是作为字符串。...要被解析字符串。 6.3 提示注释 (1)字符串中只返回第一个数字。 (2)开头结尾空格是允许

57530

随机播放歌曲算法,原来是这么做,我一直都搞错了

还等什么,继续往下看~ 方法一:Fisher-Yates 算法 Fisher-Yates 算法基本前提是遍历条目,将数组中每个元素与数组中剩余未洗牌部分随机选择元素进行交换。...在这个循环中,我们将遍历数组中每个元素,将其位置与数组中另一个元素交换。 接着,创建一个 i 变量,将 array.lenght-1 值赋给它。...“伪随机” 意味着生成数字看起来是随机,但实际上是由确定性算法确定。它返回数字总是一个介于0到1之间浮点数。...浮点数是可以是正或负,并且可以有小数部分数字,例如 3.14、-0.5、1.0、2.71828 等等。 为什么要从 Math.random() 结果中减去 0.5 ?...通过从 Math.random() 结果中减去 0.5,将会引入一个介于 -0.5 0.5 之间随机值。这个随机值**将导致比较函数以随机方式为不同元素对返回负、正或零值。

17920

hash算法原理详解

那么所有的查找时间复杂度为O(1);如果没有时间限制,那么我们可以使用无序数组并进行顺序查找,这样只需要很少内存。哈希表使用了适度时间空间来在这两个极端之间找到了平衡。...只需要调整哈希函数算法即可在时间空间上做出取舍。 在Hash表中,记录在表中位置其关键字之间存在着一种确定关系。这样我们就能预先知道所查关键字在表中位置,从而直接通过下标找到记录。...// 返回低10位(即key * key中间10位)        Return key %1024;           } 此法适于:关键字中每一位都有某些数字重复出现频度很高现象 5.减去法...减去法是数据键值减去一个特定数值以求得数据存储位置。...例7,公司有一百个员工,而员工编号介于1001到1100,减去法就是员工编号减去1000后即为数据位置。编号1001员工数据在数据中第一笔。编号1002员工数据在数据中第二笔…依次类推。

4.1K50

Web安全学习笔记之DES算法实例详解

PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47...那么让n1循环到16,我们计算 Ln = Rn-1 Rn = Ln-1 + f(Rn-1,Kn) 这样我们就得到最终区块,也就是n = 16  L16R16。...到这里我们还没有完成f函数运算,我们仅仅使用一张表将Rn-1 32位拓展为48位,并且对这个结果秘钥Kn执行了异或运算。我们现在有了48位结果,或者说8组6比特数据。...,B是一个6位块,那么计算S1(B) 方法是:B第一位最后一位组合起来二进制数决定一个介于03之间十进制数(或者二进制00到11之间)。...B中间4位二进制数代表一个介于0到15之间十进制数(二进制0000到1111)。设这个数为j。查表找到第i行第j列那个数,这是一个介于015之间数,并且它是能由一个唯一4位区块表示

89440

MongoDB入门(四)

如果这两个值是日期,则返回以毫秒为单位差值。 如果这两个值是日期毫秒数,则返回结果日期。 接受两个参数表达式。 如果这两个值是日期和数字,请首先指定日期参数,因为数字减去日期没有意义。...1366(闰年)之间数字返回日期日期。...$year 以数字形式返回日期年份(例如2014年)。 $month 将日期月份返回为介于1(一月)12(十二月)之间数字。...$week 将日期周数作为介于0(一年中第一个星期日之前部分周)53(闰年)之间数字返回。 $hour 以0到23之间数字返回日期小时数。...$minute 以0到59之间数字形式返回日期分钟。 $second 以0到60之间数字(闰秒)返回日期秒数。 $millisecond 以介于0999之间数字形式返回日期毫秒数。

27120

十大经典排序算法动画与解析,看我就够了!(配代码完全版)

线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序归并排序; O(n1+§)) 排序,§ 是介于 0 1 之间常数。...对每一对相邻元素作同样工作,开始第一对到结尾最后一对。这步做完后,最后元素会是最大数。 针对所有的元素重复以上步骤,除了最后一个。...持续每次对越来越少元素重复上面的步骤,直到没有任何一对数字需要比较。 1.2 动画演示 ?...直到尺寸为 1。...基数排序 10.1 算法步骤 将所有待比较数值(正整数)统一为同样数位长度,数位较短数前面补零 最低位开始,依次进行一次排序 最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列 10.2

69320

十大经典排序算法动画与解析,看我就够了!(配代码完全版)

线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序归并排序; O(n1+§)) 排序,§ 是介于 0 1 之间常数。...对每一对相邻元素作同样工作,开始第一对到结尾最后一对。这步做完后,最后元素会是最大数。 针对所有的元素重复以上步骤,除了最后一个。...持续每次对越来越少元素重复上面的步骤,直到没有任何一对数字需要比较。 1.2 动画演示 ?...直到尺寸为 1。...基数排序 10.1 算法步骤 将所有待比较数值(正整数)统一为同样数位长度,数位较短数前面补零 最低位开始,依次进行一次排序 最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列 10.2

30811

LeetCode刷题记录(easy难度21-40题)

题意分析: 题意还是很清楚,给定一颗二叉树,在给定一个,判断根节点到叶子节点之间路径是否有等于给定sum。...我们可以先定义两个下标,一个表示表示开始下标,一个表示结束下标,因为求回文,只需要循环一半,并且开始下标小于结束下标, 因为我们不知道循环次数,所以我们使用while循环,在这个循环内部我们需要找到符合属于字母和数字字符最开始下标是多少...,如果第一个字符不属于字母或数字,那么将开始下标+1,依次类推,直到找到第一个属于字母或数字字符下标,结束下标也一样,只不过当不符合要求时是将下标-1....在这里我们使用字典将遍历过下标记录下来,循环列表中每一个值,在每一次循环中判断目标值减去遍历值等于结果是否在存有已经遍历过元素字典中,如果存在那就返回这两个下标,由于下标不是0开始,所以我们需要将下标...在这里我们使用字典将遍历过下标记录下来,循环列表中每一个值,在每一次循环中判断目标值减去遍历值等于结果是否在存有已经遍历过元素字典中,如果存在那就返回这两个下标,由于下标不是0开始,所以我们需要将下标

1.4K10

java 猜数字小游戏(Math 类)

100 之间随机数 int number = (int)(Math.random()*100)+1; 猜数字小游戏案例 1 2 3 4 5 6 7 8 9 10 11 12 13 14...int)(Math.random()*100)+1; System.out.println(number); } } } 小游戏 该游戏可以由程序随机产生或由用户输入四个 0 到 9 之间数字...玩游戏者通过游戏提示输入八次来匹配上面所输入数字。A 表示位置正确且数字正确,B 表示数字正确而位置不正确。...算法: 可以直接算出 A 类数目,但是 B 类数目直接算出或许会很麻烦,正好我们可以先算出 C 类数目恰好减去 A 类就是 B 类了。...++C:C;//C 表示猜测数内随机数中 A 类 B 类数数目 if (b[i]==a[j])break; } } B=C-A;// 关键算法(感叹数学魅力)

62130

这个播放量200万视频燃爆了!它讲透了:希尔伯特计划是如何被哥德尔与图灵“打脸”

但如果检查这个逻辑,你根本无法想象要写下无限数字,并将一侧自然数与另一侧介于01之间实数进行匹配。 由于每个实数都是一个无穷小数,所以在01之间永远不存在最大实数。...如果我们能够做到这一点,一个数字也不漏下,那么我们就会知道自然数介于01之间实数集是不是大小相同。 假设我们真的做到了这一点。...如果数字是9,就将其回滚到8。到这个过程结束时,你将得到一个介于01之间实数。 但这就是我们要说:这个数字不会出现在我们列表中任何位置。...一个组件是,它接收到停机输出,就会立即进入死循环。 另一个组件是,如果它接收到死循环输出,那么它就会立即停机。这台新机器也可以称为h+。所以,h+永远会输出h相反结果。...由于hh+输出永远相反,所以如果h得出“h+将进入死循环结论,那么就会使h+立即停止;如果h认为h+会停止,那么必然会使h+进入死循环

77630
领券