A
本周的算法题:LeetCode 263. Ugly Number
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5.
Note:
1 is typically treated as an ugly number.
Input is within the 32-bit signed integer range: [−231, 231 − 1].
给定一个正数,如果它的质因数只有2,3,5中的一个或几个,则它是ugly number.(规定:1是ugly number)
我的思路是取2~5不断地去整除这个数字(4是合数,不影响结果),如果能够得到1,则满足提给条件,是ugly number.
C++实现如下:
class Solution {
public:
bool isUgly(int num) {
for (int i=2; i<6 && num>0; i++)
while (num % i == 0)
num /= i;
return num == 1;
}
};
R
在欣赏一首美妙的乐曲时,你是否思考过音乐背后的数学问题呢?“为什么按照这么多规则组成音乐?为什么我们用这种方式组织声音来创作音乐呢?” 这就像产生“随机气体或液体中的原子如何结合在一起形成特定的晶体?”这样的疑问一样的自然。
音乐本身就是各种声波的组合,波具有phase(相位),这篇文章谈到了phase transitions(相变)的概念。提倡我们从本质认识音乐。音乐是人的思维创作,比文学作品和绘画有着更为具体的表达,可以量化为数学问题。解析音乐问题可以帮助我们了解人的思维,推进AI创作的进步。
原文链接:Phase transitions: The math behind the music
T
C语言的一道题
char s[] = "ab\0234\\\n79";
cout << strlen(s) << ',' << sizeof(s); \\这里的输出结果是“8;9”
这里主要涉及两个问题,一个是strlen()与sizeof()函数的区别,一个是对转义字符的了解。
strlen()是8位的:a b \023 4 \ \n 7 9
sizeof()是9位的:a b \023 4 \ \n 7 9 \0
八进制与十六进制转义
当sizeof 和 strlen遇上转义字符
S
关于WSL(Windows系统的Linux子系统):
Windows Subsystem for Linux Documentation
Windows Command Line Tools For Developers
以后写东西一定要记得及时保存啊,之前忘了保存又要重写一遍