编程 有1000只鸡在10个鸡笼,实现当随机给出1000以内数值N时,哪几个鸡笼的鸡数正好是N 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说实话,分有一点点少...package com.ce.exam;public class Chicke { /** * @param args */ public static void main(String[] args) { int total = 800; //假设随机数N=800,你可以用IO的知识受用户输入此处你自己改进,我只做Demo //一些提示语句你自己去写 for(int a= 0 ;a <=1000; a++){ for(int b = 0 ; b <= 1000;b++){ for(int c= 0; c<=1000;c++){ for(int d= 0;d<=1000 ; d ++){ for(int e = 0 ; e <= 1000 ; e ++){ for(int f = 0 ; f <= 1000; f++ ){ for(int g = 0 ; g<=1000; g++){ for(int h=0; h<= 1000 ;h++){ for(int i=0; i<=1000; i++){ for(int j=0;j<=1000;j++){ if(a+b+c+d+e+f+g+h+i+j == 1000){ Integer[] arr ={a,b,c,d,e,f,g,h,i,j}; int sum = 0; for(int x = 0 ; x< 10;x++){ sum+=arr[x]; if(sum==800){ for(int y=0;y<=x;y++){ //为0则说明里面没鸡 if(arr[y]!=0) System.out.print("arr["+y+"]===" + arr[y]); } System.out.println("\n\r"); } } } } } } } } } } } } } }} 数组的下标+1,代表是第几个鸡笼....你可以在打取出方案的前面,每个鸡笼里面的鸡的数量打量出来 看看..比如说打印出来 效果是这样的:有如下几种方法:鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:....鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:....鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:..........这样就比较人性化,这个东西就留给你自己了.. 项目部署时出现的问题,求大牛解决 SGIP模拟网关发送短信报错,请各位高手指点 jetspeed 页面与portlet传参问题 时间控制问题? 关于JSP输出PDF的问题,大家帮忙啊,新手 新手学HIBERNATE,有几个不明白的地方。问一下高手。谢谢! 急,在weblogic9里面怎么发布ejb 请问在java中如何调用asp.net的webservice?? gbk的问题 Struts2,如何修改struts.properties的路径? (高分)词频统计 请问怎么样让JBOSS在启动时加载一些配置文件,然后在Java程序中读取内容
* @param args
*/
public static void main(String[] args) {
int total = 800; //假设随机数N=800,你可以用IO的知识受用户输入此处你自己改进,我只做Demo
//一些提示语句你自己去写
for(int a= 0 ;a <=1000; a++){
for(int b = 0 ; b <= 1000;b++){
for(int c= 0; c<=1000;c++){
for(int d= 0;d<=1000 ; d ++){
for(int e = 0 ; e <= 1000 ; e ++){
for(int f = 0 ; f <= 1000; f++ ){
for(int g = 0 ; g<=1000; g++){
for(int h=0; h<= 1000 ;h++){
for(int i=0; i<=1000; i++){
for(int j=0;j<=1000;j++){
if(a+b+c+d+e+f+g+h+i+j == 1000){
Integer[] arr ={a,b,c,d,e,f,g,h,i,j};
int sum = 0;
for(int x = 0 ; x< 10;x++){
sum+=arr[x];
if(sum==800){
for(int y=0;y<=x;y++){
//为0则说明里面没鸡
if(arr[y]!=0)
System.out.print("arr["+y+"]===" + arr[y]);
}
System.out.println("\n\r");
}
}
}
}
}
}
}
}
}
}
}
}
} }}
比如说打印出来 效果是这样的:
有如下几种方法:
鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:....
鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:....
鸡笼里鸡的分部是: 第一个笼为:XX 第二笼为:XX.......第十.... 此时取出方法为:....
...
...
这样就比较人性化,这个东西就留给你自己了..