码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 P1876 开灯

时间:2017-11-07 17:57:59      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:div   es2017   str   https   src   new   space   tar   决定   

传送门

技术分享

技术分享

这道题凭什么是技术分享

就因为它代码短?!

还是我太菜了...

第$i$盏灯的开关与否只由其约数个数决定,又有约数公式:

当$n=p_1^{a_1}p_2^{a_2}...p_n^{a_n}$时,
约数个数$=(a_1+1)(a_2+1)...(a_n+1)$
要使灯亮着,则$(a_1+1)(a_2+1)...(a_n+1)$是奇数。
于是$a_1, a_2, a_3, ... a_n$都是偶数。
所以$n=m^2, m=p_1^{a_1/2}p_2^{a_2/2}...p_n^{a_n/2}$
于是所有的完全平方数都满足条件。

Code:

#include<bits/stdc++.h>
#define RG register
using namespace std;
long long n;
int main()
{
    scanf("%lld", &n);
    for(RG long long i=1;i<=(long long)sqrt(n);i++) printf("%lld ", i*i);
    return 0;
}

 

洛谷 P1876 开灯

标签:div   es2017   str   https   src   new   space   tar   决定   

原文地址:http://www.cnblogs.com/cj-xxz/p/7799674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!