求“买M送N”数学公式或程序实现方法
发布网友
发布时间:2022-04-23 20:21
我来回答
共5个回答
热心网友
时间:2023-08-24 11:20
好久没编程了.也不知道还记得否.不知道以下是否正确.
#include<stdio.h>
#include<math.h>
main ()
{
int X,Y,M,N,Z; // X为进门的人数,Y为应收费人头数.买M送N.
scanf("%d,%d",&M,&N);
scanf("%d",&X);
Z = X%(M+N); //引入Z,解决最后一段余数中超过M人,但没用完免费名额N人的情况.
if(Z>M)
{
Y = X - N * [ X/(M+N) ] - ( Z-M ) ;
}
else { //Z=M 和Z<M的情况,最后一段余数就没有免费名额.
Y = X - N * [ X/(M+N) ];
}
return (Y);
}
热心网友
时间:2023-08-24 11:20
程序的具体写法我都忘,
大概是这样的:
1,输入两个数 M和N //M为买,N为送
2,后来来了 X 位人,输入 X
3,想把 X 位人中的R位人归于 买 中,在操作前要先输入 YES(就是接下来的数输入到 买 中)或NO (就是接下来的数输入到 送 中)
4,然后输入 R
5,自动把 X-R 的数字加到买或送中(条件要看第三步是输入YSE还是NO)
6,然后循环 第二步到第五步(触发条件是,有再次输入大于0的数,‘输入一次触发一次’)。
7,输出最后的 ‘M’ 和 ‘N’(用地址输出对应的存储数据方法)
——佐跃
热心网友
时间:2023-08-24 11:21
我给出对应的函数关系
X:实际来的人数
Y:应收费的人数
1.当X是(M+N)的整数倍时(即有X=K(M+N),K是整数):
Y=K*M
2.当X满足条件i*(M+N)<X<(i+1)*(M+N)时(i=0,1,2^^^^^^),
(1) X-i*(M+N)<=M时, 有Y=i*M+[X-i*(M+N)];
(2) X-i*(M+N)>M时, 有Y=(i+1)*M;
就是上面的这些.然后编程实现就行了
热心网友
时间:2023-08-24 11:21
int KTVCounts(int n)
{
int nRlt;
if (n > k +j)
{
nRlt = n%(k + j) + k* (n /(k + j));
}
else if (n > k)
{
nRlt = k;
}
else nRlt = n;
return nRlt;
}
热心网友
时间:2023-08-24 11:22
ghj riyhigr r;oiyug fngjioreyhrtkgy5fhy