51nod1239 尤拉函式之和

2022-03-30 15:43:34 字數 1462 閱讀 8459

跟1244差不多。

//由於(x+1)沒有先mod一下一直wa三個點我。。。 

//由於(x+1)沒有先mod一下一直wa三個點我。。。 

#include#include#include#includeusing namespace std;

#define rep(i,s,t) for(ll i=s;i<=t;i++)

#define dwn(i,s,t) for(ll i=s;i>=t;i--)

#define clr(x,c) memset(x,c,sizeof(x))

#define qwq(x) for(edge *o=head[x];o;o=o->next)

#define ll long long

const ll md=1e6+7;

const ll mod=1e9+7;

const int nmax=6e6+5;

struct edge;

edge es[md<<1],*pt=es,*head[md];

ll pi[nmax+1];int pe[nmax+1];bool vis[nmax+1];

void add(ll u,ll v,ll d)

const ll zs=500000004;

ll get(ll x)

ll orz=(x%mod*((x+1)%mod)%mod*zs%mod-ans+mod)%mod;

add(tp,x,orz);

return orz;

}int main() pi[i*tp]=pi[i]*pi[tp];

} }rep(i,2,nmax) pi[i]=(pi[i]+pi[i-1])%mod;

ll n;scanf("%lld",&n);

printf("%lld\n",get(n));

return 0;

}

1239 尤拉函式之和

基準時間限制:3 秒 空間限制:131072 kb 分值: 320 難度:7級演算法題

收藏關注對正整數n,尤拉函式是小於或等於n的數中與n互質的數的數目。此函式以其首名研究者尤拉命名,它又稱為euler's totient function、φ函式、尤拉商數等。例如:φ(8) = 4(phi(8) = 4),因為1,3,5,7均和8互質。

s(n) = phi(1) + phi(2) + ...... phi(n),給出n,求s(n),例如:n = 5,s(n) = 1 + 1 + 2 + 2 + 4 = 10,定義phi(1) = 1。由於結果很大,輸出mod 1000000007的結果。

input

輸入乙個數n。(2 <= n <= 10^10)
output

輸出s(n) mod 1000000007的結果。
input示例

5
output示例

10
相關問題

尤拉函式 

0

51nod1239 尤拉函式之和

求 i 1n i n 10 10 這道題和莫比烏斯函式一行,都可以通過神奇的推導的出結論。我們設 n i 1n i 眾所周知,d n d n 那麼,n n d n,d d 於是 n i 1n i d i,d d n n n 1 2 i 2n d i d d n n n 1 2 i d 2n d 1 ...

51nod 1239 尤拉函式之和

求 n i 1 i 1 n 10 杜教篩第二道裸題。必要結論 i n i n 證明 設f n i n i 將n分解質因數,n p qii 利用莫比烏斯函式裡學到的乙個性質,可以得到 f n f pq ii f pq qk 0 pk q k 1p k pk 1 1 p q f n n 設s n n i...

51Nod 1239 尤拉函式之和

acm模版 這個題和那個 51nod 1244 莫比烏斯函式之和 的方法幾乎一模一樣,差別就是推導公式的結果不一樣罷了,但是形式是一樣的。推導如下 設 f n i 1 n i 通過尤拉函式的性質我們可以知道 d n d n 所以呢,n n d n,d d f n i 1n i d i,d d f n...