洛谷 P1876 开灯

题目如下:

 

 思路:这是一个关于完全平方数定义的题目

  完全平方数 eg 9 (1,3,9)

  非完全平方数 eg 8(1,2,4,8)

  特性:通常完全平方数 他有奇数个因子  

本题目 一开始所有的灯都是关的 想要经历过很多次操作

由关的变成开的,需要经历奇数次操作

//5 1 2 3 4 5

//1 4

代码如下:

#include<cstdio> 
#include<iostream>
using namespace std;
typedef long long ll;
//开始都是关上的 最后要变成开的 奇数次
//5 1 2 3 4 5 
//4 只有他的因数才可以操作它 所以它会被按奇数次
//证明这个数如果因子有奇数个 最终才会是亮的 
//完全平方数的因子有奇数个  
//8 (1,2,4,8) 
//9 (1,3,9) 为完全平方数 因子有奇数个 
int main(){
    ll n;
    cin>>n;
    for(ll i=1;i*i<=n;i++) 
    cout<<i*i<<" ";
    return 0;
}
 

 

posted @ 2020-04-24 10:12  miao-xixixi  阅读(153)  评论(0)    收藏  举报