POJ1218 THE DRUNK JAILER
来源:互联网 发布:快手用户数据 编辑:程序博客网 时间:2024/06/16 14:54
问题链接:POJ1218 THE DRUNK JAILER。
题意简述:输入n,n为5-100间的一个数,代表有多少间牢房。刚开始所有房间打开,第1轮2的倍数的房间门翻转(打开的关上,关上的打开),第2轮3的倍数,第3轮4的倍数,......,第n-1轮n的倍数。求最后有几间牢房门是打开的。
问题分析:使用模拟法,模拟这个过程即可。好在计算规模不算大。
AC的C语言程序如下:
/* POJ1218 THE DRUNK JAILER */#include <stdio.h>#include <memory.h>#define MAXN 100int cell[MAXN+1];int main(void){ int t, n, sum, i, j; scanf("%d", &t); while(t--) { scanf("%d", &n); memset(cell, 0, sizeof(cell)); for(i=2; i<=n; i++) for(j=i; j<=n; j++) if (j%i == 0) cell[j] = 1 - cell[j]; sum = 0; for(i=1; i<=n; i++) if(cell[i] == 0) sum++; printf("%d\n",sum); } return 0;}
还有一种大牛做的,直接计算的方法,其数学道理真的不懂。AC的C语言程序如下:
/* POJ1218 THE DRUNK JAILER */#include <stdio.h>#include <math.h>int main(void){ int t, n, ans; scanf("%d",&t); while(t--) { scanf("%d", &n); ans = (int)sqrt(n); printf("%d\n", ans); } return 0;}
1 0
- THE DRUNK JAILER POJ1218
- poj1218 THE DRUNK JAILER!
- POJ1218 THE DRUNK JAILER
- POJ1218:THE DRUNK JAILER
- POJ1218----THE DRUNK JAILER
- THE DRUNK JAILER(poj1218)
- POJ1218 THE DRUNK JAILER
- POJ1218 THE DRUNK JAILER
- POJ1218 THE DRUNK JAILER
- poj1218——THE DRUNK JAILER
- poj1218——THE DRUNK JAILER
- poj1218--THE DRUNK JAILER(求约数的个数)
- nyoj77开灯问题 VS poj1218 THE DRUNK JAILER(开关灯问题模板)
- pku_1218 THE DRUNK JAILER
- The Drunk Jailer
- POJ - THE DRUNK JAILER
- hdu1337-The Drunk Jailer
- The Drunk Jailer
- ROI与CPC、CPM有什么关系
- Palindrome Number_Leetcode_#9
- Expression表达式资料
- 数据结构实验之图论八:欧拉回路
- Python 中yield的原理分析
- POJ1218 THE DRUNK JAILER
- 187. Repeated DNA Sequences
- 交换排序
- 精选30道Java笔试基础题解答
- ssoj2663 two cakes(动归)
- POJ Snowflake Snow Snowflakes 3349 (最小表示法查同)
- 数据挖掘必备基础知识
- nmap命令小结(二)
- Unity Mecanim动画的实现(八):Animation视图