List li = new ArrayList(); int all = 155; for(int i=1;i<=all/10;i++){ int all2 = all - i*10; for(int j=0;j<=all/5;j++){ int all3 = all2 - 5*j; for(int m=0;m<all3/2;m++){ int n = all3 - 2*m; if(i+j+m+n==20){ li.add(i+"+"+j+"+"+m+"+"+n); } } } } System.out.println(li.size()); for(int i=0;i<li.size();i++){ System.out.println(li.get(i)); } 期待更优算法的出现
List li = new ArrayList(); int all = 155; for(int i=1;i<=all/10;i++){ int all2 = all - i*10; if((all2/5)>(20-i)) { continue; }else{ for(int j=0;j<=all/5;j++){ int all3 = all2 - 5*j; if((all3/2)>(20-i-j)) { continue; }else{ for(int m=0;m<all3/2;m++){ int n = all3 - 2*m; if(n>(20-i-j-m)) { continue; }else{ if(i+j+m+n==20){ li.add(i+"+"+j+"+"+m+"+"+n); } } } } } } } System.out.println(li.size()); for(int i=0;i<li.size();i++){ System.out.println(li.get(i)); }
long begin=System.currentTimeMillis(); List li = new ArrayList(); long all = 15555l; for(int i=1;i<=all/10;i++){ long all2 = all - i*10; if((all2/5)>(2000-i)) { continue; }else{ for(int j=0;j<=all/5;j++){ long all3 = all2 - 5*j; if((all3/2)>(2000-i-j)) { continue; }else{ for(int m=0;m<all3/2;m++){ long n = all3 - 2*m; if(n>(2000-i-j-m)) { continue; }else{ if(i+j+m+n==2000){ li.add(i+"+"+j+"+"+m+"+"+n); } } } } } } } System.out.println(li.size()); for(int i=0;i<li.size();i++){ System.out.println(li.get(i)); } long end=System.currentTimeMillis(); System.out.println(end-begin);
public class www { static int x;//一元的个数 static int y;//二元的个数 static int z;//五元的个数 static int h;//拾元的个数 public static void main(String[] arguments){ for(x=0;x<155;x++){ for(y=0;y<155;y++){ for(z=0;z<155;z++){ for(h=0;h<155;h++){ if(x+2*y+5*z+10*h==155&&x+y+z+h==20){ System.out.println(x); System.out.println(y); System.out.println(z); System.out.println(h); System.out.println("*"); } } }
} } } } 哈哈,可以吧
public class Count { static int x;//一元的个数 static int y;//二元的个数 static int z;//五元的个数 static int h;//拾元的个数 public static void main(String[] arguments){ for(x=0;x <20;x++){ for(y=0;y <20;y++){ for(z=0;z <20;z++){ for(h=0;h <20;h++){ if(x+2*y+5*z+10*h==155&&x+y+z+h==20){ System.out.println(x); System.out.println(y); System.out.println(z); System.out.println(h); System.out.println("*"); } } }} } } } 这样不更好?
楼主【tteesstt】截止到2008-07-30 13:02:21的历史汇总数据(不包括此帖):
发帖的总数量:139 发帖的总分数:9000 每贴平均分数:64
回帖的总数量:95 得分贴总数量:11 回帖的得分率:11%
结贴的总数量:138 结贴的总分数:8900
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:100
结贴的百分比:99.28 % 结分的百分比:98.89 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
值得尊敬
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=tteesstt
List li = new ArrayList();
int all = 155;
for(int i=1;i<=all/10;i++){
int all2 = all - i*10;
for(int j=0;j<=all/5;j++){
int all3 = all2 - 5*j;
for(int m=0;m<all3/2;m++){
int n = all3 - 2*m;
if(i+j+m+n==20){
li.add(i+"+"+j+"+"+m+"+"+n);
}
}
}
}
System.out.println(li.size());
for(int i=0;i<li.size();i++){
System.out.println(li.get(i));
}
期待更优算法的出现
int all = 155;
for(int i=1;i<=all/10;i++){
int all2 = all - i*10;
if((all2/5)>(20-i))
{
continue;
}else{
for(int j=0;j<=all/5;j++){
int all3 = all2 - 5*j;
if((all3/2)>(20-i-j))
{
continue;
}else{
for(int m=0;m<all3/2;m++){
int n = all3 - 2*m;
if(n>(20-i-j-m))
{
continue;
}else{
if(i+j+m+n==20){
li.add(i+"+"+j+"+"+m+"+"+n);
}
}
}
}
}
}
}
System.out.println(li.size());
for(int i=0;i<li.size();i++){
System.out.println(li.get(i));
}
List li = new ArrayList();
long all = 15555l;
for(int i=1;i<=all/10;i++){
long all2 = all - i*10;
if((all2/5)>(2000-i))
{
continue;
}else{
for(int j=0;j<=all/5;j++){
long all3 = all2 - 5*j;
if((all3/2)>(2000-i-j))
{
continue;
}else{
for(int m=0;m<all3/2;m++){
long n = all3 - 2*m;
if(n>(2000-i-j-m))
{
continue;
}else{
if(i+j+m+n==2000){
li.add(i+"+"+j+"+"+m+"+"+n);
}
}
}
}
}
}
}
System.out.println(li.size());
for(int i=0;i<li.size();i++){
System.out.println(li.get(i));
}
long end=System.currentTimeMillis();
System.out.println(end-begin);
static int x;//一元的个数
static int y;//二元的个数
static int z;//五元的个数
static int h;//拾元的个数
public static void main(String[] arguments){
for(x=0;x<155;x++){
for(y=0;y<155;y++){
for(z=0;z<155;z++){
for(h=0;h<155;h++){
if(x+2*y+5*z+10*h==155&&x+y+z+h==20){
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(h);
System.out.println("*");
}
}
}
}
}
}
}
哈哈,可以吧
static int x;//一元的个数
static int y;//二元的个数
static int z;//五元的个数
static int h;//拾元的个数
public static void main(String[] arguments){
for(x=0;x <20;x++){
for(y=0;y <20;y++){
for(z=0;z <20;z++){
for(h=0;h <20;h++){
if(x+2*y+5*z+10*h==155&&x+y+z+h==20){
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(h);
System.out.println("*");
}
}
}}
}
}
}
这样不更好?
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException { System.out.println("1元" + " 2元" + " 5元" + " 10元");
int x1 = 0;
for (int x10 = 155 / 10; x10 >= 0; x10--) {
for (int x5 = 20 - x10; x5 >= 0; x5--) {
for (int x2 = 20 - x10 - x5; x2 >= 0; x2--) {
x1 = 20 - x10 - x5 - x2;
if (x1 + 2 * x2 + 5 * x5 + 10 * x10 == 155) {
System.out.println(" " + x1 + " " + x2 + " "
+ x5 + " " + x10);
}
}
}
}
}
}