sql随机分配有关问题
sql随机分配问题
我使用的SQLServer 2005 其中有两张表 Users 和 Papers ,其中Paper中有PaperID,PaperName和A_B(代表A,B卷)现在想实现试卷A,B卷,按照Users表中的字段UserID来随机分配,或者依据UserID来交替分配。该如何做呢?求大神指导
------解决方案--------------------
洗牌算法
我使用的SQLServer 2005 其中有两张表 Users 和 Papers ,其中Paper中有PaperID,PaperName和A_B(代表A,B卷)现在想实现试卷A,B卷,按照Users表中的字段UserID来随机分配,或者依据UserID来交替分配。该如何做呢?求大神指导
------解决方案--------------------
洗牌算法
- C/C++ code
#include <stdio.h> #include <stdlib.h> #include <time.h> int d[6]; int i,n,a,b,t; int c,j; void main() { srand(time(NULL)); printf("shuffle 0..n-1 demo\n"); for (n=1;n<=5;n++) {/* 测试1~5个元素 */ printf("_____n=%d_____\n",n); j=1; for (c=1;c<=n;c++) j=j*c;/* j为n! */ j*=n*2; for (c=1;c<=j;c++) {/* 测试n*2*n!次 */ for (i=0;i<n;i++) d[i]=i;/* 填写0~n-1 */ for (i=n;i>0;i--) {/* 打乱0~n-1 */ a=i-1;b=rand()%i; if (a!=b) {t=d[a];d[a]=d[b];d[b]=t;} } printf("%04d:",c); for (i=0;i<n;i++) printf("%d",d[i]); printf("\n"); } } printf("shuffle 1..n demo\n"); for (n=1;n<=5;n++) {/* 测试1~5个元素 */ printf("_____n=%d_____\n",n); j=1; for (c=1;c<=n;c++) j=j*c;/* j为n! */ j*=n*2; for (c=1;c<=j;c++) {/* 测试n*2*n!次 */ for (i=1;i<=n;i++) d[i]=i;/* 填写1~n */ for (i=n;i>1;i--) {/* 打乱1~n */ a=i;b=rand()%i+1; if (a!=b) {t=d[a];d[a]=d[b];d[b]=t;} } printf("%04d:",c); for (i=1;i<=n;i++) printf("%d",d[i]); printf("\n"); } } }