找女神要QQ号码
引言
我们组来了个美女程序员,我心里窃喜,哈哈这下机会来了。我在想怎么下手呢?好吧,还是从QQ号码开始,找到女神要到QQ号,哈哈,我真是个天才~~~
是这样子滴
想法是美好的,现实是残酷的,找女神要QQ号码的时候,没想到女神没有直接给我,而是给了我出了道题(果真是程序员的交手~~ ~),题都给我了,做不出来的话,不但没了和女神的接触机会,连赖以为生的基本技能——编程能力都被质疑了~~~题目是这样的:
<code>给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦。</code>
就是这样,女神给了一串数字631758924,现在要做的就是从这个数字中找出女神的QQ号码了,方法有很多种,比如说用9张卡片分别写上这9个数字,模拟题目的过程,可以算出来,也可以用笔一个一个的去算~~~~
这些方法都太low了,显示不出程序员的能力,还是写个程序比较酷一点(其实我是在想,要是下次再遇到一个女神出这样的题目,程序就很方便了,哈哈~~~)
解决办法
第一种方法,采用数学的方法,根据题目的规律,循环下面的操作:取整=>取余=>取余*10+取整。。。。。取余取整的对象都是10的倍数,根据位数而定,每次取整之后就是一位,循环直到数字等于0。
<code><?php $raw_num = 631758924; $num = 0; $devisor = 1; while($devisor < $raw_num) { $devisor *= 10; //获取最小的大于raw_num的10的倍数的整数 } while ($raw_num > 0) { $devisor /= 10; $next = floor($raw_num / $devisor); //获取下一个数字 $num = $num*10 + $next; //计算”半成品“QQ号码 $raw_num = $raw_num % $devisor; $last = floor($raw_num * 10 / $devisor); //移动数字,拼接最新的QQ号码 $pre = $raw_num % (ceil($devisor / 10)); $raw_num = $pre * 10 + $last; } echo "恭喜你啦,成功获取QQ号码:{$num}"; //恭喜你啦,成功获取QQ号码:615947283</code>
利用队列的FIFO获取QQ号码,根据题目的特性,刚好可以使用队列来处理,队列简单方便,而且更好理解。
<code>#include<stdio.h> struct queue { int *data; int head; int tail; }; int main() { int num, i; printf("请输出要破译的QQ号码长度:"); scanf("%d", &num); struct queue q; q.data = (int *)malloc(sizeof(int)*(num*2-1)); //总共需要的数组长度为num*2-1 q.head = 0; q.tail = 0; for(i=1;i</stdio.h></code>
说点啥
本文点子来自《啊哈!算法》中的第二章,第一节【解密QQ号——队列】,唯一的插图也截取自本书。
微信号: love_skills
越努力,越幸运!越幸运,越努力!
做上CEO不是梦
赢取白富美不是梦
屌丝逆袭不是梦
就是现在!!加油
以上就介绍了找女神要QQ号码,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

chkdsk无法供raw驱动器使用的解决办法:1、右键底部任务栏Win图标,在弹出的菜单栏中点击“运行”选项;2、在命令行窗口输入“chkdsk /?”,然后点击回车键确定;3、等待chkdsk工具成功运行即可。

区别:1、head标签用于定义文档头部,它是所有头部元素的容器,而header标签用于定义文档的页眉(介绍信息);2、浏览器都支持head标签,而旧版本浏览器均不支持header标签,需要IE9+以上浏览器才支持header标签。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Laravel中Head请求方法的常见应用场景在Laravel中,HTTP请求方法中的HEAD方法通常被用于获取资源的元数据而不获取实际的内容。HEAD请求和GET请求类似,但是不返回实际的响应主体内容,只返回响应头信息。这使得HEAD请求在一些特定的场景下非常有用,以下是一些常见的应用场景和相应的代码示例。验证链接的有效性使用HEAD请求方法可以用于验证链

linux raw是原始数据格式,在linux中表示“裸设备”,也叫裸分区、原始分区;linux raw是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备;裸设备可以绑定一个分区,也可以绑定一个磁盘。

RAW是未经处理、也未经压缩的格式,可以把RAW概念化为“原始图像编码数据”或更形象的称为“数字底片”。RAW格式文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。

raw照片是指未经处理、也未经压缩的照片格式;因为raw的原意就是“未经加工”,可以理解为“RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据”。

raw格式和jpg格式区别有:1、JPEG是一种被广泛使用的有损压缩格式,而RAW格式是一种无损的图像格式;2、JPEG格式的图像文件小巧,而RAW格式的文件较大;3、JPEG格式的图像只能进行有限的后期处理,而RAW格式的图像保留了更多的细节和色彩信息,使您能够在后期处理中做出更多的调整。
