Category: 程序设计

做题送美人 Python 题解: (两质数相乘等于 707829217)

上个月去北爱游玩, 看朋友圈传这个, 一直拖延至今天才有点时间写写题解: 后来了解到, 这个是HR的套路, 并不是真的做题送美人, 不过这题还是挺有意思的, 至少能复习一下素数的一些相关算法. 暴力穷举 题目要求是两质数相乘 等于 707829217, 这数也不大, 至少不需要用于大整数 bignum, 2的31次方是: 2147483648. 因此我们可以从3开始暴力, 每次加2, 直到 根号(707829217)=26605即可, 这数很小, 现在的计算机秒秒就出结果了. 算到根号就可以了, 因为暴力小的数, 大的数自然可以用707829217一除即可. 然后我们分别判断一下是否是质数即可. 质数判断从2到 根号, …

用JAVA写个简易的DNS域名查询工具

在加入GE之前没怎么写过JAVA程序, 其实JAVA挺好的, API多, 而且跨平台, 并且速度也不慢 (已经优化很多了). 最近用到了 iNetAddress 这个库, 写了一命令行工具, 可以简易根据域名查询 IP 地址. 代码也在 https://github.com/DoctorLai/DNSLookup import java.net.InetAddress; import java.net.UnknownHostException; public class DNSLookup { // https://helloacm.com/the-dns-lookup-tool-in-java-inetaddress/ public static void main(String …

如何通过BASH命令把频繁访问服务器的IP找出来?

不知不觉建了好多网站, 也维护多个VPS服务器好多年了, 经常会碰到服务器被多种不良爬虫攻击, 不管是否恶意, 每次并发访问大的时候, 服务器的CPU使用率就飙升. 这时候我一般都会分析APACHE日志来找出在同一时间并发访问的IP. 然后找到IP后就很简单了, 通过CLOUDFLARE的防火墙添加一条IP规则永久禁止该IP的访问. CLOUDFLARE是个很不错的保护, 因为你服务器的IP地址永远不会被泄露, 而CLOUDFLARE会在你的服务器和访问者之间过滤掉恶意的访问. 通过在LINUX下BASH的几个命令, cat, awk, sort, uniq, head 可以用管道把这几个命令用起来, 分析APACHE的日志脚本, 找出访问最多的几个IP地址. cat access.log | awk '{print $1}' | sort …

周末刷刷题找回ACM-er 的感觉

周末一狠心买了 leetcode 一年年费 159美元, 好处是可以解锁更多的编程习题. 于是一周末刷了30多题, 容易和中等的题大约各一半吧. 争分夺秒的刷题, 比如带孩子上 soft play 也可以刷. 我用的是 iphone 8, 大概是2年前买的, 256 GB 用到现在还很好用, 买一个有带支架的外壳, 然后搞一个 made in China 的蓝牙键盘(2个7号电池的 比充电方便一些) 刷过后得到 绿色的 Accepted …

C++ 编程练习题: 如何合并两个二叉树?

题意: 合并两个二叉树, 没有说不可以改变原来的二叉树. 合并的时候把结点求合. C/C++ 中二叉树的定义 在C或者C++中, 二叉树的定义可以很方便的用结构体来表征. 其中左右子树都是递归定义. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) …