c语言关于舞会跳舞问题,在周末舞会上,男士们(m人)和女士们(n人, n<m)进入舞厅时,各自排成一队。

跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。(1)在第t首曲子时,第x个女生和第几个男生配对跳舞?

b.在什么条件下,上述题目中第x个(1<=x<=m)男生才有可能和他心仪的第y个(1<=x<=n)女生跳舞,在第几首曲子时?
****************************************************************************
现在主要是b的问题,我只会判断两个人是否可能成为舞伴,但是对于在什么条件下会成为,我真的不知道...下面是我的代码,没有错。。。。我想问的问题就是b中这个什么条件 这个条件到底是什么????
****************************************************************************
#include<stdio.h>
#define M 10
#define N 7
int gcd(int x,int y)
{
int z,temp;
if(x<y) {temp=x;x=y;y=temp;}
if((z=x%y)==0) return y;
else gcd(y,z);
}
void main()
{
int m=1,n=1,t,T,x,y;
scanf("%d%d",&x,&y);
T=M/gcd(M,N); //求出可以播放曲子的最大次数(不重复的情况下)
for(t=1;t<=T;t++)
{
if((m+y-1)==x) break; //m+y-1将女生编号配对到男生编号
m=m+N;
n=n+N;
while(m>M) m=m-M;
while(n>N) n=n-N;
}
if(t>T) printf("没有找到配对的\n");
else printf("%d男生找到%d女生,在第%d首曲子\n",x,y,t);
}

其实你这程序我都没那么弄懂
你更注重技术上的东西
而我学习c语言更注重算法上的东西
也就是说你想通过简单的运算运用技巧性的东东让电脑帮你计算
而我是通过自己思考的算法让电脑表达出来
其实这两种思路都不矛盾的 各有所长
你这程序 人为设定了m,n 有局限性 也就是说可能不通用
我也试着写了些(如果题意没理解错的话)
其实题2用用题1的程序就行了 你再仔细想想 看看我的问题2
#include<stdio.h>
#include<math.h>
int gac(int m,int n,int y,int t)
{int x,z;
if((n*t/m)>0)
{z=(n*t%m+m-n+y);
if(z>m) z=z-m;
x=z;
}
else x=(n*t-n+y);
return x;
}

void main()
{int gac(int m,int n,int y,int t);
int m,n,y,t,a;
int x2,y2,t2,a2;
printf("问题1\n请输入男女生的人数,以逗号隔开\n");
scanf("%d,%d",&m,&n);
printf("请输入此时跳舞的女生号数\n");
scanf("%d",&y);
printf("请输入此时的曲数\n");
scanf("%d",&t);
a=gac(m,n,y,t);
printf("此时%d号女生的搭档是%d号男生\n",y,a);
printf("问题2\n请输入男主人公及其心仪女生的号数,并以逗号隔开\n");
scanf("%d,%d",&x2,&y2);
t=0;
do
{t++;
a2=gac(m,n,y2,t);}
while(a2!=x2);
printf("如果%d号男生想要与%d号女生跳舞,需要到第%d首曲子\n",x2,y2,t);
}
温馨提示:内容为网友见解,仅供参考
无其他回答

...男士们(m人)和女士们(n人, n<m)进入舞厅时,各自排成一队。
a2=gac(m,n,y2,t);} while(a2!=x2);printf("如果%d号男生想要与%d号女生跳舞,需要到第%d首曲子\\n",x2,y2,t);}

栈和队列在项目中的应用
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。2、问题分析 先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型...

栈和队列 - 栈和队列的应用实例 - 队列的应用实例
假设在周末舞会上 男士们和女士们进入舞厅时 各自排成一队 跳舞开始时 依次从男队和女队的队头上各出一人配成舞伴 若两队初始人数不相同 则较长的那一队中未配对者等待下一轮舞曲 现要求写一算法模拟上述舞伴配对问题 问题分析 先入队的男士或女士亦先出队配成舞伴 因此该问题具体有典型的先进先出...

pascal假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞...
var s1,s2:string; i,j,k:integer;begin readln(s1); readln(s2);j:=length(s1); k:=length(s2);if j>k then begin i:=j; j:=k; k:=i end;write(s1[1],s2[1]);for i:=2 to j do write(' ',s1[i],s2[i]);writeln;writeln(k-i);if length(s1)<length(s2) then ...

世界杯各球队国家的风土人情(特产或特点)
按照习惯,主人请人参加舞会,有时也设晚宴;有时光请跳舞而不设晚宴;而有的则请参加舞会的客人中少数人吃晚饭,饭后跳舞;其他人只能参加舞会而不能吃饭。所以,被邀请的人一定要看清请柬上的字样,以免使主人难堪。舞会上,主人备有夜宵,也可能只备些茶、咖啡和三明治等。参加舞会的客人服装要整齐,跳舞时男宾要轮流请...

世界各国风土人情,文化习俗
按照习惯,主人请人参加舞会,有时也设晚宴;有时光请跳舞而不设晚宴;而有的则请参加舞会的客人中少数人吃晚饭,饭后跳舞;其他人只能参加舞会而不能吃饭。所以,被邀请的人一定要看清请柬上的字样,以免使主人难堪。舞会上,主人备有夜宵,也可能只备些茶、咖啡和三明治等。参加舞会的客人服装要整齐,跳舞时男宾要轮流请...

美国人,英国人,巴西人,泰国人,日本人,埃及人分别有那些习俗,那些...
宴会开始,男士们为女士们拉开椅子,帮女士入座。 有些英国人慨叹,在对待女士的礼遇方面,如今世风已不如以前。据说是因为妇女在选举、就业、 工资待遇和接受高等教育方面获得了与男人平等的权利,她们就不再需要以往的那种照顾了。看来,对女士的礼貌是出于男士觉得女士需要保护。 做客和餐桌上的礼节 如果你被邀请到别人...

所有的礼仪(见到陌生人,生意场合,问\/答,什么什么的全部哈)越具体分越...
2、选择舞伴的规矩 在私人舞会上,每位男士都应当同举办舞会的女主人,以及他在餐桌上座位两侧的女士跳舞。当然,他必须同他带来的女士跳第一支和最后一支舞。他还应该在整个晚上观察他妻子没有同其他舞伴跳太长时间。 如果一个女人同一位男士坐在一起,另外一位男士不能上前请她跳舞。但是如果她坐在一群人之间,他...

怎样是完美男人
女性对于引人注意的男子一定会产生好奇心(好奇心是女性的致命伤), 这种好奇心可以运用在有趣的对话中, 也可以运用在具有新鲜度的情报资讯上. 如果你不具有人缘, 即使对方很有好奇心, 但一见到你也只有拼命的躲避, 不受欢迎的男士身边总是相当寂寞, 无论何时都希望能置身在热闹的气氛中, 想要成为受欢迎的男士,...

美国人,英国人,巴西人,泰国人,日本人,埃及人分别有那些习俗,那些...
宴会开始,男士们为女士们拉开椅子,帮女士入座。 有些英国人慨叹,在对待女士的礼遇方面,如今世风已不如以前。据说是因为妇女在选举、就业、 工资待遇和接受高等教育方面获得了与男人平等的权利,她们就不再需要以往的那种照顾了。看来,对女士的礼貌是出于男士觉得女士需要保护。 做客和餐桌上的礼节 如果你被邀请到别人...

相似回答