作业帮 > 综合 > 作业

2008人站成一排报奇数的出列,其余依次报数,如此反复必剩下一人.编一程序问此人第一次报的是几?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/15 12:17:35
2008人站成一排报奇数的出列,其余依次报数,如此反复必剩下一人.编一程序问此人第一次报的是几?
程序必须是用c语言编写的.
2008人站成一排报奇数的出列,其余依次报数,如此反复必剩下一人.编一程序问此人第一次报的是几?
/*你是怎么口算的?能共享一下思想么?我这是用程序才算出来的*/
/*2008人站成一排报奇数的出列,其余依次报数,如此反复必剩下一人.编一程序问此人第一次报的是几?*/
#include
#define MAX 2008
int n = MAX;
int d[MAX];
int pow(int a,int b);
int main(int argc,char *argv[])
{
int i,k = 0;
for (i = 0; i < MAX; i++)/*赋值 */
{
d[i] = i;
}
while (n > 1)
{
for (i = pow(2,k) - 1; i < MAX; i += pow(2,k+1))
{
n--;
d[i] = -1;
}
k++;
}
for (i = 0; i < MAX; i++)
{
if (d[i] != -1)
{
printf("result:%d\t",i+1);
}
}
return 0;
}
int pow(int a,int b)//指数函数
{
int i;
int s = 1;
for (i = 0; i < b; i++)
{
s *= a;
}
return s;
}
2008人站成一排报奇数的出列,其余依次报数,如此反复必剩下一人.编一程序问此人第一次报的是几? 有46个同学站成一排,按一二三四报数,最后一个同学报几?如果报一的同学出列,有多少人出列 40个运动员排成一列,报偶数的出列,出列的再报数,仍是报偶数的出列,最后一个报偶数的人站在几号位置? 100人按编号1~100顺次排成一行1/2报数报2的出队剩下50人从头开始报数报2的出列这样下去最后剩下人这人几号 100人站成一横排,从1开始报数,凡报奇数者离队,留下的人再次自1起报数,凡报奇数者都离队,这样反复下去,最后留下一人. 100名同学按照编号1~100从左往右顺次排成一行,然后“1、2”报数到最后一人,凡报1的就出列,剩下的50名同 同学们做广播操18人站成一排按1234的顺序依次重复报数这一排最后一个同学应该报几? 二十五个人站成一排,从左到右报数,第一次报数后,凡是报偶数的人退出,剩下的人仍按原顺序从左到右报数,第二次报数后凡报道三 有100个人站成一排,从左到右依次进行1,2报数,凡是报1的人离开队伍,剩下的人继续从左到右进行1,2报数,最后留在队伍 欢迎光临有100个人站成一列,从1起往下报数,报奇数的人出列,留下的人再重复报数,这样继续下去,最后只留下一个人.请问: 五一班48名同学排成一排,按1至5报数.最后一名同学报数字几?班主任安排报1的同学扫地,报4的同学擦玻璃. 求一道数奥题有29人排成一排,编号1~29,从1号开始,1至2报数,报二的不动,报一的退出,留下的1至2报数,这样不断重