C语言排列组合问题
最近在学习《Linux C编程一站式学习》,其中,第8.3 数组应用实例:直方图的习题2中提到全排列问题。
定义一个数组,编程打印它的全排列。比如定义:
#define N 3 int a[N] = { 1, 2, 3 };
要求:
程序要具有通用性,如果改变了N和数组a的定义(比如改成4个数的数组),其它代码不需要修改就可以做4个数的全排列(共24种排列)
最近在学习《Linux C编程一站式学习》,其中,第8.3 数组应用实例:直方图的习题2中提到全排列问题。
定义一个数组,编程打印它的全排列。比如定义:
#define N 3 int a[N] = { 1, 2, 3 };
要求:
程序要具有通用性,如果改变了N和数组a的定义(比如改成4个数的数组),其它代码不需要修改就可以做4个数的全排列(共24种排列)
删除之前安装的老驱动
sudo apt remove --purge bcmwl-kernel-source
安装新驱动
sudo apt install broadcom-sta-dkms
管理后台 ip:8080/cgi-bin/login.htm.cgi
备份信息 ip:8080/cgi-bin/baseinfoSet.cgi
设备信息、桥接模式 ip:8080/cgi-bin/baseinfo.cgi
账号useradmin,密码见光猫背面
6321
进去可以更改音频直通(透传)、缩放比例等
来源:
https://wenwen.sogou.com/z/q824588724.htm?rcer=u9PEmt4i9JmbtRtcV
vps上的kanboard、whoogle
群晖上的管理系统、typecho、syncthing
1.替换自带的证书和密钥
ssh进群晖,切换到rootsudo -i
备份自带证书和密钥,代码中的volume1为套件所在的存储空间
mv /volume1/@appstore/syncthing/var/https-cert.pem /volume1/@appstore/syncthing/var/https-cert.pem.orgi
mv /volume1/@appstore/syncthing/var/https-key.pem /volume1/@appstore/syncthing/var/https-key.pem.orgi
拷入新证书和密钥。这两个文件在域名注册商哪里申请来的ssl证书包里。
cp PATH_TO_FILE/DOMAIN.csr /volume1/@appstore/syncthing/var/https-cert.pem
cp PATH_TO_FILE/DOMAIN.key /volume1/@appstore/syncthing/var/https-key.pem
设置权限
chown sc-syncthing:syncthing /volume1/@appstore/syncthing/var/https-cert.pem
chown sc-syncthing:syncthing /volume1/@appstore/syncthing/var/https-key.pem
chmod +r /volume1/@appstore/syncthing/var/https-cert.pem
chmod +r /volume1/@appstore/syncthing/var/https-key.pem
2.web页面勾选加密连接
3.重启syncthing套件生效
备注:
这样设置后,内网中再用“ip+端口”的方式访问时也会重定向到https页面,浏览器提示证书问题,需要手动确认接受风险。
中科大镜像,下载iso测试速度最快,接近Gbps,但没软件源;
http://mirrors.ustc.edu.cn/kde-application/neon/images/
北京外国语大学镜像,下载iso测试速度适中,约500Mps,有软件源;
https://mirrors.bfsu.edu.cn/kde-neon/
南京大学镜像,下载iso最慢,约100Mbps,有软件源。
https://mirrors.nju.edu.cn/kde-neon/
最近工作上同时推进的项目比较多,有些跟踪不过来,特别是不同的项目进展的程度也不一样,简单纸笔工具也不直观。
想起之前用过看板系统,比较适合这种情况。
但试用的几款要么部署太复杂、要么功能太简单,还有些在线的数据全在缓存里,数据很容易丢。
最终选定了kanboard。
kanboard仅依赖php,单人使用的话数据库可以用sqlite,只要db目录有写入权限就行了。
kanboard banner
为了避免再折腾域名、端口啥的,直接丢到typecho目录下,通过子目录访问就行了,群晖管理页面再给http组配置上data目录的写入权限。
齐活!
浏览器访问,duang,一个大错误提示,“只支持php 7.2以上”。
再跑到群晖后台,安装php7.4;webStation中给这个虚拟主机配置使用php 7.4。
再重新访问,OK了
用了两天,确实不错。
又发现了子任务的故障,新建子任务没问题,但是一点击开始子任务或者完成子任务,就提示数据库错误。
Internal Error: SQL Error: SQLSTATE[HY000]: General error: 1 no such
table: main.task_has_subtasks #4858
搜索了一番,原来是老早就有的问题,貌似子任务表结构设计的有问题,issue里也给了解决方案。
把数据库文件拿到本地,用sqlite管理工具运行修复脚本,把修复好的数据库再放回去覆盖即可。
管理工具:sqlite-tools-win32-x86-3360000.zip
修复脚本保存为fix.sql
ALTER TABLE subtask_time_tracking RENAME TO subtask_time_tracking_old;
CREATE TABLE subtask_time_tracking (
"id" INTEGER,
"user_id" INTEGER NOT NULL,
"subtask_id" INTEGER NOT NULL,
"start" INTEGER DEFAULT 0,
"end" INTEGER DEFAULT 0,
"time_spent" REAL DEFAULT 0,
FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE,
FOREIGN KEY("subtask_id") REFERENCES "subtasks"("id") ON DELETE CASCADE
);
INSERT INTO subtask_time_tracking SELECT * FROM subtask_time_tracking_old;
运行过程:
sqlite3.exe db.slite
.read fix.sql
启用插件:
`chmown www-data:www-data plugins`