Sigma Function LightOJ - 1336

本文探讨了如何通过数学算法来计算特定数值的平方根及其倍数的特性,利用数学公式解析了奇数和偶数的幂次方性质,以及完全平方数的phi函数属性。并提供了一段C++代码实现,用于计算给定数值减去其平方根及半平方根的整数部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

σ(n)=∏piei\sigma(n) = \prod{p_i^{e_i}}σ(n)=piei

σ(n)=∏(∑i=0ekpki)\sigma(n) = \prod{(\sum_{i=0}^{e_k}{p_k^i})}σ(n)=(i=0ekpki)

  1. 显然一个奇数的N次幂仍是奇数而一个偶数的N次幂一定是偶数
  2. 不妨求是奇数的个数
  3. 有式二有当所有e_k为偶数定有和为奇数。且这个数完全平方数phi定为奇数
  4. 同理一个完全平方数的两倍phi也是奇数
  5. 而若是其四倍则是另一个数的完全平方数
#include<bits/stdc++.h>
using namespace std;
#define fst first
#define sec second
#define sci(num) scanf("%d",&num)
#define scl(num) scanf("%lld",&num)
#define mem(a,b) memset(a,b,sizeof a)
#define cpy(a,b) memcopy(a,b,sizeof b)
typedef long long LL;
typedef pair<int,int> P;
const int MAX_N = 510;
const int MAX_M = 10000;
int main() {
    int T;
    sci(T);
    int cntcs = 1;
    while(T--) {
        LL N;
        cin >> N;
        cout << "Case " << cntcs++<< ": ";
        cout << N  - (int)sqrt(N) - (int) sqrt(N / 2.0) << endl;
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值