问题描述
一个大领域里有无数个子领域,子领域下有文章,现在要取子领域文章15条。每个子领域都要取到。比如有9子领域,那就前面六个子领域取2条。后面3个取1条...请大侠们抽空帮小弟,看看。。能给出部分代码感激不尽 问题补充:AngelAndAngel 写道
解决方案
假设你有 n 个子领域,共想取出 m 个文章,那么 n/m 的值就是你每个子域最少应该取得的文章数, n%m 的值就是你这 n 个子领域中前 n%m 个子领域应该再取一条文章。就像你举的例子,n=9,m=15,那么 n/m = 1,n%m = 6,也就是说每个子领域至少需要取1条记录,两9个子领域中的前6个子领域需要多取一条,即两条。
解决方案二:
@Rainbow702 ,思路不错!既然都给了思路了,作者应该用代码实现很简单的。
解决方案三:
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();}
解决方案四:
int n = 9;int m = 15;int perChild = n/m; // perChild = 1;int extra = n%m; // extra = 6
解决方案五:
ls的逻辑能力确实不错啊。
解决方案六:
我觉得我上面的说明应该可以帮你理清这个逻辑了,欢迎采纳,呵呵
解决方案七:
什么都没说明白啊?从数据库吧?什么数据库啊?