主页

Fltk的ui设计工具fluid使用方法总结

写在前面 终于又捡起来FLTK了, 先来看看怎么通过FLUID创建一个图形界面并完成回调函数的创建, 参考的是官方教程中关于创建一个CubeView程序的例子, 教程里面很多都与最新版本的FLTK界面不太一致, 但是通过我的摸索还是找出了方法. 下面来分享一下. 创建类 直接点New新建各种类型即可, 一些注意事项在官方文档中给出了, 一些类或者组件的名称都用粗体标出来了(如下图), 需要对应, 不然后面回调函数连接不上. 在CubeViewUI类中主要实现了构造函数以及一个show方法, 用于显示窗体. 最后的结果如下, 这里其实主要是要看清楚是水平组件还是垂直组件, 这个很重要, 其次就是主窗体的大小, 配比要合适. 回调函数 其实就是两行, 主要用于五个主要...

阅读更多

长除法计算平方根的方法总结与代码实现(c++,python)

写在前面 之前总结了计算平方根的方法, 但是并没有给出手算方法的解释, 这次专门写一下手算方法. 据说这个方法是中国的数学家创造的, 我也没深入考证过, 总之就是非常经典了, 因为这个长除法算法(英文:Long Division Algorithm)可以计算任意精度的平方根, 也就是可以算小数点后的任意位, 下面来看看具体的方法与原理. 原理解释 代数 其实原理是基于这样一个式子: \(x^2=(10a+b)^2\iff x^2-100a^2=(20a+b)b.\tag{*}\) 就是说对于一个两位数$x$, 其平方(设其有4位)有这样的一种表示, 那么如果要计算某一个数$y=x^2$的平方根, 只需要通过长除法, 根据数的前面两位和后面两位迭代计算即可. 当然这样直接说显...

阅读更多

计算平方根的一些方法总结

写在前面 重新熟悉下计算平方根的算法, 当然对于力扣的平方根69. x 的平方根 - 力扣(LeetCode), 已经出现了不下五种的方法了, 这次简要总结下. 代码均为C++. 调包 return (int) sqrt(x); return (int) pow(x, .5); 高级调包 应用了 \(\sqrt x=\exp(\frac{\ln x}2)\) 这一关系, 需要注意浮点数舍入误差. int mySqrt(int x) { if (x == 0) { return 0; } int ans = exp(0.5 * log(x)); return ((long long)(ans + 1) * (ans + 1) ...

阅读更多

C++之什么时候应该使用typename或class

写在前面 对于C++模版元编程, 使用关键字typename还是class显然是不重要的, 除了在模版模版参数中使用类类型一定要用class声明类外, 例如下面这个例子, 为容器给出泛型函数, 虽然这样事实上只针对序列式容器: template <typename T, template <typename> class Container> ostream &operator<<(ostream &os, Container<T> v) { for (auto i : v) os << i << " "; return os << endl; } 在模版中, 一...

阅读更多

通过公网ip访问云服务器mysql的方法

方法 环境: Ubuntu20.04(x86_64) MySQL8.0.31 开端口 addtcp 3306 reufw 并且在阿里云的管理界面开3306端口. 改配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 其中bind-address改为:(要不然只能在本地访问) bind-address = 0.0.0.0 添加数据库配置 # 进入数据库 # mysql -uroot -p # 输入 CREATE USER 'root'@'%' IDENTIFIED BY '<数据库密码>'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'...

阅读更多

Macos下asciiquarium出现.cursesboot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080)的问题解决

问题 m1Mac brew 一个终端养鱼程序(Perl):ASCIIQuarium, https://github.com/cmatsuoka/asciiquarium; 在使用brew安装之后报错了: ./CursesBoot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080) 然后网上找一圈也没有解决方案, 后来发现重新从源构建就好了: brew reinstall asciiquarium --build-from-source 完美:

阅读更多

寻找缺失数字,出现次数不同数字的题目总结

写在前面 近期看面经, 发现有一类题常出现, 那就是寻找缺失数字, 基于这道题的变式题目也很多, 下面来总结一下. 下面总结的是缺失数字以及出现次数不同于其他数字的两大类题目. 主要用到的知识点: 哈希集合: 需要占用空间, 可以考虑原地哈希, 但是不好想. 排序+二分: 排序操作时间复杂度高. 位运算: 这里主要指异或运算. 数学方法: 找关系联立方程组, 通过求和等方式完成. 特殊解法:(只能针对某道题) 缺失数字类 关于缺失数字, 有下面这几类题型: 已排序, 找0~n-1中缺失的数字.剑指 Offer 53 - II. 0~n-1中缺失的数字 - 力扣(LeetCode). 已排序, 找缺失的第$k$个数字.1539. 第 k 个...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits