hud 2582 f(n)

 

大表:

复制代码
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef long long ll;
int main(){
    for(int j=1;j<=50;j++)//打表
    {
        int n=j;
        ll ans=n;
        ll tt=n;
        for(int i=2;i<n;i++)
        {
            tt=tt*(n-i+1)/i;
            ans=__gcd(ans,tt);
        } 
        printf("%d  %d\n",j,ans);
    }

    return 0;
} 
复制代码

 

 结论:Gcd(n) : 当n是素数,则为本身,否则为1;

代码:

复制代码
#include<iostream>
#include<stdio.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6+10;
ll Gcd[maxn];
void init(){
    for(int i=0;i<=maxn;i++)
        Gcd[i] = 0;
    for(int i =2;i<=maxn;i++){
        if(!Gcd[i]){
            Gcd[i] = i;
            for(int j=2*i;j<=maxn;j+=i){
                if(!Gcd[j])
                    Gcd[j] = i;
                else
                    Gcd[j] = 1;
            }
        }
    }
    for(int i=4;i<=maxn;i++)
        Gcd[i]+=Gcd[i-1]; 
}
int main(){
    init();
    int n;
    while(scanf("%d",&n)!=EOF){
        cout<<Gcd[n]<<endl;
    }
    return 0;
}
复制代码

 

posted @   sqsq  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示