注册 登录
编程论坛 C++教室

K怎么不从1开始循环啊

caiqiufu 发布于 2006-12-18 13:07, 413 次点击
帮忙看看K怎么不从1开始循环啊
count也不能得到正确结果
求100可以由1.,2,5组成时有多少种组合
#include<iostream.h>
void main()
{
int i,j,k;
int a=5,b=2,c=1;
int sum=0,count=0;
for(i=1;i<=100;i++)
{
c=c*i;
cout<<"c value:";
cout<<c<<endl;
for(j=1;j<=50;j++)
{
b=b*j;
cout<<"b value:";
cout<<b<<endl;
for(k=1;k<=20;k++)
{ a=a*k;
cout<<"k value:"<<k<<endl;
sum+=(a+b+c);
cout<<"sum value:";
cout<<sum<<endl;
if(sum==100)
++count;
cout<<"count valude:"<<count<<" ";
}
}
}

}
4 回复
#2
tancui2006-12-18 15:45

#include<iostream.h>


void main()
{
int i,j,k;
int a=5,b=2,c=1;
int sum=0,count=0;
for(i=0;i<=100;i++)
{ c=1;
c*=i;//求C的y次方
/*cout<<"c value:";
cout<<c<<endl;*/
for(j=0;j<=50;j++)
{
b=2;
b*=j;
/* cout<<"b value:";
cout<<b<<endl;*/

for(k=0;k<=20;k++)
{ a=5;
a*=k;
//cout<<"k value:"<<k<<endl;


if(a+b+c==100)
{
++count;
cout<<"count valude:"<<count<<" :";
cout << "1有" <<i <<" 2有 " <<j <<" 5有 "<<k <<endl;
}
}
}

}
}

#3
caiqiufu2006-12-19 18:47
怎么count 的值不是从1开始啊
#4
maoguoqing2006-12-19 20:21
假设从1开始,那么找到一种组合之后,通过++count,
count的值就已经是2了,可是现在才只有一种组合。。
#5
lzy3406233392006-12-24 09:26

#include<iostream.h>
void main()
{
int i,j,k;
int a=5,b=2,c=1;
int sum=0,count=0;
for(i=1;i<=100;i++)
{ c=1;
c=c*i;
if(sum>100)
break;
cout<<"c value:";
cout<<c<<endl;
for(j=1;j<=50;j++)
{ b=2;
b=b*j;
if(sum>100)
break;
cout<<"b value:";
cout<<b<<endl;
for(k=1;k<=20;k++)
{ a=5;
a=a*k;
sum=(a+b+c);
if(sum>100)
{ sum=0;
break;
}
if(sum==100)
{ ++count;
cout<<"i value:";
cout<<i<<endl;
cout<<"j value:";
cout<<j<<endl;
cout<<"k value:"<<k<<endl;

}
}
}
}
cout<<"count valude:"<<count<<" ";

}

1