标签:P1876 平方 int 题解 36 开灯 算式 因数 数有
数学推理~
首先,我们来呱唧一下原理:一开始灯都是关着的,要让它亮起来,则需要扳动开关奇数次。而因数有奇数个的,只有平方数(1、4、9、16……)。
为什么平方数有奇数个因数?
因为一个数,总是由一个乘法算式(两个数相乘)得到的
比如 36=4×9,7=1×7,120=12×10等等。
所以,非平方数的数总是有偶数个因数。
但平方数有一组算式是由两个相同的数乘起来的,只能算一个数。
例如36,它等于
1×36
2×18
3×12
4×9
6×6
OK,共五组,2×5-1=9个因数。(偶-奇=奇)
辣么,上代码!
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=sqrt(n);i++) cout<<i*i<<" ";
return 0;
}
byebye~
标签:P1876,平方,int,题解,36,开灯,算式,因数,数有 来源: https://www.cnblogs.com/oierscw/p/12542176.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。