NEFU OJ6 通宵教室

首先看看燈的狀態分析:

     比如第六盞燈,分別有1,2,3,6個人進來,是關的

     第九盞燈,分別有1,3,9個人進來,是開的

     第12盞燈,分別有1,2,3,4,6,12人進來,是關的

    第16盞燈,分別有1,2,4,8,16人進來,是開的

    。。。

   可以看到,燈序號有奇數個因數是開的

   什麼是有奇數個因數的?

分析一下:比如12,因數都是成對出現的,如1*12,2*6,所以一般因數的個數都是偶數。但特殊情況,如果兩個因數是相同的,則因數個數爲奇數。

但根據1-到n,有多少個完全平方數呢?(int)sqrt(n)個

出錯的地方:int會導致2^32越界,提交出錯

#include<iostream>
#include<math.h>
#include<stdio.h> 
using namespace std;

int main()
{
	int line;
	long long n;
	while(cin>>line)
	{
		for(int i=0;i<line;++i)
		{
			cin>>n;
			printf("%d\n",(int)sqrt(n) );
		}
	}
	return 0;
}                                                        



發佈了73 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章