小编Mar*_*tin的帖子

是否有一个函数 f(n) 返回有序组合列表中的第 n: 个组合而不重复?

当要选择的元素数 (n) 为 5 并且选择的元素数 (r) 为 3 时,没有重复的组合如下所示:

0 1 2
0 1 3
0 1 4
0 2 3
0 2 4
0 3 4
1 2 3
1 2 4
1 3 4
2 3 4
Run Code Online (Sandbox Code Playgroud)

随着 n 和 r 的增长,组合的数量很快就会变大。对于 (n,r) = (200,4),组合数为 64684950。

使用 r 个嵌套的 for 循环迭代列表很容易,其中每个 for 循环的初始迭代值大于其嵌套的 for 循环的当前迭代值,如以下 jsfiddle 示例所示:https: // dotnetfiddle.net/wHWK5o

我想要的是一个根据其索引仅计算一种组合的函数。像这样的东西:

tuple combination(i,n,r) {
  return [combination with index i, when the number of elements to choose from is n …
Run Code Online (Sandbox Code Playgroud)

math combinations combinatorics

4
推荐指数
1
解决办法
432
查看次数

SQLite3 pragma同步不持久

我正在使用一个SQLite3数据库我WAL模式.pragma语句同步的默认模式是2(完整),但这使得插入非常慢并且根据文档 1(正常)应该没问题.

只要数据库处于打开状态,更改同步模式就会起作用,但在连接结束时似乎会重置:

root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2
sqlite> pragma synchronous=1;
sqlite> pragma synchronous;
1
sqlite>[exit]
root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2
Run Code Online (Sandbox Code Playgroud)

没有其他人在使用数据库.任何人都可以告诉我如何使这种变化持久吗?

另外,设置pragma synchronouspragma [database name].synchronous?有什么区别?顺便说一下,两者都不是持久的.

sqlite pragma

3
推荐指数
1
解决办法
1099
查看次数

如何使用sqlite3_exec从sqlite3数据库中选择数据到变量中?

interweb上有一百万个示例,详细说明了使用sqlite3_exec从表中选择行并使用此回调函数打印它们:

static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  int i;
  for(i=0; i<argc; i++){
    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  }
  printf("\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是实现的代码callback:

[...]
rc = sqlite3_exec(db, sql, callback, &nrecs, &zErrMsg);
[...]
Run Code Online (Sandbox Code Playgroud)

现在,我认为将获取的数据用于除打印之外的其他内容将是一个相当标准的场景,但对于我的生活,我无法找到应该如何实现.

我想要做的是获取argc包含两列的一行(将是1),argv[0]argv[1]sqlite3_exec执行的位置访问这两个值(和).

我想这与这个问题有关void *NotUsed.(世界上这是一个指针,为什么所有的例子都坚持不使用它?)

如果有人可以帮助我,我会非常感激.如果你还能向我解释为什么这个看似微不足道的任务变得如此复杂,你将拥有我永恒的爱.(获取的数据在从另一个函数调用的静态函数中处理.这有效地杀死了使用面向对象语言的目的,对吧?)

c++ sql sqlite select

2
推荐指数
1
解决办法
2609
查看次数

MySQL根据第二列的内容添加和减去总和

是否可以对考虑第二列内容的列进行求和?

我想要的是第二个陈述:

SELECT * FROM theTable;

+------------+-------------+
|     type   |     value   |
+------------+-------------+
|  plusitive |      11     |
+------------+-------------+
|   negative |       7     |
+------------+-------------+
|   negative |       3     |
+------------+-------------+

SELECT SUM_BASED_ON_WHETHER_type_IS_plusitive_OR_negative(value) FROM theTable;

+----------------------------------------------------------------+
|     SUM_BASED_ON_WHETHER_type_IS_plusitive_OR_negative(value)  |
+----------------------------------------------------------------+
|                                 1                              |
+----------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

所以字符串'plusitive'表示乘法值为1,'negative'表示在加到sum之前乘以-1的乘法值.

谁知道怎么做?我知道表格布局不是最佳的任务,但改变它不是一个选项.解决方案将在存储过程中实现.

mysql sql

0
推荐指数
1
解决办法
2121
查看次数

标签 统计

sql ×2

sqlite ×2

c++ ×1

combinations ×1

combinatorics ×1

math ×1

mysql ×1

pragma ×1

select ×1