一个大领域里有无数个子领域,子领域下有文章,现在要取子领域文章15条。每个子领域都要取到。比如有9子领域,那就前面六个子领域取2条。后面3个取1条...请大侠们抽空帮小弟,看看。。能给出部分代码感激不尽
假设你有 n 个子领域,共想取出 m 个文章,那么 n/m 的值就是你每个子域最少应该取得的文章数, n%m 的值就是你这 n 个子领域中前 n%m 个子领域应该再取一条文章。就像你举的例子,n=9,m=15,那么 n/m = 1,n%m = 6,也就是说每个子领域至少需要取1条记录,两9个子领域中的前6个子领域需要多取一条,即两条。
什么都没说明白啊?
从数据库吧?
什么数据库啊?
我觉得我上面的说明应该可以帮你理清这个逻辑了,欢迎采纳,呵呵
ls的逻辑能力确实不错啊。
[code="java"]
int n = 9;
int m = 15;
int perChild = n/m; // perChild = 1;
int extra = n%m; // extra = 6
[/code]
[code="java"]
int n = 15; //总条数
int m = 0;//子领域个数
InputStreamReader stdin = new InputStreamReader(System.in);// 键盘输入
BufferedReader bufin = new BufferedReader(stdin);
System.out.println("输入子领域个数:");
try {
m = Integer.parseInt(bufin.readLine());//输入子领域个数
int perChild = n % m; //取出余数,这里表明分配过后还剩下多少
int extra = n/m; //每个该分配多少
System.out.println("均匀取出数据:");
for (int i = 1; i <= m ; i++) {
if(i <= perChild){
System.out.println(i + "---" + (extra + 1));
continue;
}
System.out.println(i + "---" + extra);
}
} catch (IOException e) {
e.printStackTrace();
}
[/code]
@Rainbow702 ,思路不错!既然都给了思路了,作者应该用代码实现很简单的。