
跪求c语言高手呀!!急急急!!帮我改下程序。在线等。
程序要实现的功能是将(1+x+x^2+...+x^k)(1+x^2+..+x^2m)(1+x^5+x^10+...+x^5n)展开,统计x的次数为h时对应的系数r。#in...
程序要实现的功能是将(1+x+x^2+...+x^k)(1+x^2+..+x^2m)(1+x^5+x^10+...+x^5n)
展开,统计x的次数为h时对应的系数r。
#include<stdio.h>
void main()
{int k,m,n;
int y,h,s,t,u,r;
printf("请输入k,m,n:");
scanf("%d,%d,%d",&k,&m,&n);
for(h=0;h<=k+2*m+5*n;h++)
{for(s=0;s<=k;s++)
{for(t=0;t<=2*m;t=t+2)
{for(u=0;u<=5*n;u=u+5)
{r=0;
y=s+t+u;
if(y==h)
r=r+1;
}
}
}
}
printf("可买价值为%d的物品方法数为%d。\n",h,r);
}
求高手给我个程序吧。 展开
展开,统计x的次数为h时对应的系数r。
#include<stdio.h>
void main()
{int k,m,n;
int y,h,s,t,u,r;
printf("请输入k,m,n:");
scanf("%d,%d,%d",&k,&m,&n);
for(h=0;h<=k+2*m+5*n;h++)
{for(s=0;s<=k;s++)
{for(t=0;t<=2*m;t=t+2)
{for(u=0;u<=5*n;u=u+5)
{r=0;
y=s+t+u;
if(y==h)
r=r+1;
}
}
}
}
printf("可买价值为%d的物品方法数为%d。\n",h,r);
}
求高手给我个程序吧。 展开
展开全部
h应该要指定吧。
r=0怎么能放在最里层循环呢,应该放在最外面。
正确代码如下:
#include<stdio.h>
void main()
{int k,m,n;
int y,h,s,t,u,r;
printf("请输入k,m,n:");
scanf("%d,%d,%d",&k,&m,&n);
printf("请输入h:");
scanf("%d",&h);
r=0;
for(s=0;s<=k;s++)
{for(t=0;t<=2*m;t=t+2)
{for(u=0;u<=5*n;u=u+5)
{
y=s+t+u;
if(y==h)
r=r+1;
}
}
}
printf("可买价值为%d的物品方法数为%d。\n",h,r);
}
r=0怎么能放在最里层循环呢,应该放在最外面。
正确代码如下:
#include<stdio.h>
void main()
{int k,m,n;
int y,h,s,t,u,r;
printf("请输入k,m,n:");
scanf("%d,%d,%d",&k,&m,&n);
printf("请输入h:");
scanf("%d",&h);
r=0;
for(s=0;s<=k;s++)
{for(t=0;t<=2*m;t=t+2)
{for(u=0;u<=5*n;u=u+5)
{
y=s+t+u;
if(y==h)
r=r+1;
}
}
}
printf("可买价值为%d的物品方法数为%d。\n",h,r);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询