程序设计竞赛题解、思考与变通.docVIP

  • 31
  • 0
  • 约1.33万字
  • 约 16页
  • 2016-12-05 发布于河南
  • 举报
程序设计竞赛题解、思考与变通 (2014湖南理工学院程序设计竞赛评析) 1.旅馆开关门 旅馆里有10000间房间,从1到10000编了号。第一位服务员把所有的房间门都打开了,第二位服务员把所有编号是2的倍数的房间进行“相反处理”,第三位服务员把所有编号是3的倍数的房间作“相反处理”,……, 第n(1=n=10000)位服务员把所有编号是的倍数的房间作“相反处理”。问第个服务员来过后,问共有多少张门是打开的(C)。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。)#includestdio.h void main() { int j,k,n,s,a[10001]; printf( 请输入正整数n(n=10000): ); scanf(%d,n); // 输入n for(j=1;j=10000;j++) a[j]=0; s=0; for(k=1;k=n;k++) for(j=1;j=10000;j++) if(j%k==0) a[j]=1-a[j]; //相反处理:也可a[j]=(a[j]+1)%2; for(j=1;j=10000;j++) s+=a[j]; printf(%d\n,s); // 输出结果 } 变通:求在这n个服务员中,哪一个服务员处理后门开的最少? //

文档评论(0)

1亿VIP精品文档

相关文档