PAT刷题之旅
萌萌不在家
南京
展开
-
PATA1015 翻转质数
这一题的题目意思要理解清楚,例如给一个数11,进制为2。那么11是质数,在2进制下,11为1011,反转后为1101,是13,也是质数,所以应该输出Yes.有一个坑,根据定义,1不是质数。#include <cstdio>#include <math.h>int isPrime(int num){ if (num == 1) return 0; for (int i = 2; i < num; i++) { if (num % i == 0) r原创 2020-05-31 22:03:48 · 272 阅读 · 0 评论 -
PAT A1008 Elevate
题目解读很简单的电梯问题,上一层需要6秒,下一层需要5秒,到一层停留需要5秒。唯一需要注意的就是当目标楼层与当前楼层相同的时候,也需要停留5s,否则会有一些测试点无法通过。#include <cstdio>// 上楼需要5s// 下楼需要4s// 停留6sint main(){ int num; scanf("%d", &num); int * stopFloor = new int[num]; for (int i = 0; i < num; i++)原创 2020-05-26 15:46:34 · 149 阅读 · 0 评论 -
PAT1007 求最大的子序列
求最大的子序列这里用到了一个比较巧妙的遍历的方法。首先,设置start和end为字符串的两端,还有一个p为0.还有一个当前的sum = 0,和最大的maxSum = -1.因此,对序列进行遍历,将数字加入sum中,如果sum小于0,就说明,当前位置到p的序列和是小于0的,不可能是最大的序列,因此要将p设置为当前位置的下一个。但是,如果求出的sum大于0,我们还不可以更新最大的序列,要与maxSum作比较才可以,如果大于maxSum就更新最大子序列。保证记录的最大子序列一定为最大子序列。#原创 2020-05-26 11:20:21 · 597 阅读 · 0 评论