우리 팀에 아름다운 프로그래머가 왔는데, 은근히 기뻤습니다. ㅎㅎ 지금이 기회입니다. 어떻게 시작해야 할지 고민 중이에요? 그럼 QQ번호부터 볼까요. 여신을 찾으려면 QQ번호로 가야죠 ㅎㅎ 정말 천재네요~~
아이디어 아름답지만 현실은 잔혹하다. 여신에게 내 QQ 번호를 물었을 때 여신이 직접 주지 않을 거라고는 예상하지 못했다. 프로그래머들~~) 문제를 다 풀지 못하면 여신과 접촉할 기회도 없이 기본적인 프로그래밍 능력까지 의심받게 됩니다~~질문은
<code>给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦。</code>
이렇게 여신이 631758924라는 일련의 숫자를 주었다. 이제 우리가 해야 할 일은 여신의 QQ수를 알아내는 것이다. 예를 들어, 9개의 카드를 사용하여 질문의 과정을 시뮬레이션하거나 펜을 사용하여 하나씩 계산할 수 있습니다. ~
이러한 방법은 너무 낮고 프로그래머의 능력을 보여주지 못합니다. (사실 저는 다음번에 이런 질문을 하는 여신을 만난다면, 프로그램이 참 편할 것 같아요, 하하~~)
첫 번째 방법은 수학적 방법을 사용하여 질문의 규칙에 따라 다음 작업을 반복하는 것입니다. 반올림 => ;나머지=>나머지*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<=num;i++) { scanf("%d", &q.data[q.tail]); q.tail++; } printf("恭喜你啦,成功获取QQ号码:"); while(q.head < q.tail) { printf("%d", q.data[q.head]); q.head++; q.data[q.tail] = q.data[q.head]; q.tail++; q.head++; } return 0; } #下面是一个实验 请输出要破译的QQ号码长度:9 6 3 1 7 5 8 9 2 4 恭喜你啦,成功获取QQ号码:615947283请按任意键继续. . .</code>
이 글의 아이디어는 "아하! "알고리즘"의 2장 1절 [QQ 번호 해독 - 대기열]에서 유일한 그림도 이 책에서 가져온 것입니다.
WeChat ID: love_skills
열심히 노력할수록 행운이 찾아옵니다! 운이 좋을수록 더 열심히 일하세요!
CEO는 꿈이 아니다
바이푸메이 우승은 꿈이 아니다
언니의 반격은 꿈이 아니다
지금이다! ! 어서
위 내용은 여신에게 QQ 번호를 요청하는 방법에 대한 소개이며, 관련 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.