本文共 1165 字,大约阅读时间需要 3 分钟。
高校扩招,教室一度变得很紧张。学生白天上自习的地方较少,晚上教室又闲置着,怎样才能充分利用教学资源,扩大学生自习时空呢?通宵教室解决学生自习空间有限和教学资源不充分利用的问题。开放通宵教室促进了学生学习观念的转变,以前课堂内外基本上是听老师安排,现在是学生自觉在学习。晚上学习效率高、生理调节能力强的学生已经尝到了甜头。好学、考研、辅修、创作的学生又有了一片新的学习时空。但是通宵教室对传统的学生管理工作带来了一系列的问题。如果通宵教室的利用率不高的话,将教室的所有灯都打开,还会极大地浪费能源。现在学校对通宵教室灯光使用做一个新的尝试。假设有N个人使用通宵教室,教室里有N盏灯,每个人和每盏灯都有一个编号。开始所有的灯都没打开,第一个人进教室将所有的灯都打开,第二个人将所有的偶数号的灯都关掉,第三个人对所有3的倍数的灯进行如下操作:如果灯开着,就将它关掉,如果灯关着,就将它打开,……,第i个人对所有i的倍数的灯进行如下操作:如果灯开着,就将它关掉,如果灯关着,就将它打开,重复这样的过程,一直到第N个人完成这样的操作。现在,教室管理员向你求助,他希望知道,完成这样的过程后,教室里开着的灯还有多少盏?
有多组测试数据。第一行是一个正整数T(1<=T<=10000),表示有多少组测试数据。以下有T行,每行一个测试数据,包含唯一的一个正整数N(1 <= n < 2^32,)。
对于每个测试数据,输出一行包含唯一的一个整数:表示完成这样的过程后,教室里开着的灯的盏数。
212
11
nefu #include#include #include #include #include using namespace std;int main()//平方数被点亮,对n开方取整,便是开灯数;{ int t,i,l; long long n; double j,k; while(~scanf("%d",&t)) { for(i=1;i<=t;i++) { scanf("%lld",&n); k=sqrt(n); l=(int)k; printf("%d\n",l); } } return 0;}
转载地址:http://tcali.baihongyu.com/