国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

BZOJ 3884: 上帝與集合的正確用法

2019-11-08 18:25:10
字體:
供稿:網(wǎng)友

Description

根據(jù)一些書上的記載,上帝的一次失敗的創(chuàng)世經(jīng)歷是這樣的: 第一天, 上帝創(chuàng)造了一個(gè)世界的基本元素,稱做“元”。 第二天, 上帝創(chuàng)造了一個(gè)新的元素,稱作“α”。“α”被定義為“元”構(gòu)成的集合。容易發(fā)現(xiàn),一共有兩種不同的“α”。 第三天, 上帝又創(chuàng)造了一個(gè)新的元素,稱作“β”。“β”被定義為“α”構(gòu)成的集合。容易發(fā)現(xiàn),一共有四種不同的“β”。 第四天, 上帝創(chuàng)造了新的元素“γ”,“γ”被定義為“β”的集合。顯然,一共會(huì)有16種不同的“γ”。 如果按照這樣下去,上帝創(chuàng)造的第四種元素將會(huì)有65536種,第五種元素將會(huì)有2^65536種。這將會(huì)是一個(gè)天文數(shù)字。 然而,上帝并沒有預(yù)料到元素種類數(shù)的增長是如此的迅速。他想要讓世界的元素豐富起來,因此,日復(fù)一日,年復(fù)一年,他重復(fù)地創(chuàng)造著新的元素…… 然而不久,當(dāng)上帝創(chuàng)造出最后一種元素“θ”時(shí),他發(fā)現(xiàn)這世界的元素實(shí)在是太多了,以致于世界的容量不足,無法承受。因此在這一天,上帝毀滅了世界。 至今,上帝仍記得那次失敗的創(chuàng)世經(jīng)歷,現(xiàn)在他想問問你,他最后一次創(chuàng)造的元素“θ”一共有多少種? 上帝覺得這個(gè)數(shù)字可能過于巨大而無法表示出來,因此你只需要回答這個(gè)數(shù)對(duì)p取模后的值即可。 你可以認(rèn)為上帝從“α”到“θ”一共創(chuàng)造了10^9次元素,或10^18次,或者干脆∞次。 一句話題意: 這里寫圖片描述

Input

接下來T行,每行一個(gè)正整數(shù)p,代表你需要取模的值

Output

T行,每行一個(gè)正整數(shù),為答案對(duì)p取模后的值

Sample Input

3

2

3

6

Sample Output

0

1

4

HINT

對(duì)于100%的數(shù)據(jù),T<=1000,p<=10^7

分析

這里寫圖片描述

代碼

#include <bits/stdc++.h>#define ll long longusing namespace std;int getPhi(int n){ int ans = n; int w = sqrt(n); for (int i = 2; i <= w; i++) if (n % i == 0) { ans = ans / i * (i - 1); while (n % i == 0) n /= i; } if (n > 1) ans = ans / n * (n - 1); return ans;}int dg(int x,int y,int MOD){ if (!y) return 1; if (y==1) return x; int now = dg(x,y/2,MOD); now = (ll)now * now % MOD; if (y%2==1) now = (ll)now * x % MOD; return now;}int getAns(int q){ if (q <= 1) return 0; int k = 1; int u = 0; while (q % 2 == 0) { k *= 2; u ++; q /= 2; } int phi = getPhi(q); u %= phi; int result = (getAns(phi) - u + phi) % phi; return dg(2,result,q) % q * k;}int main(){ int T; scanf("%d",&T); while (T--) { int q; scanf("%d",&q);
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 衡阳县| 湾仔区| 蓬莱市| 漾濞| 隆尧县| 东乡| 东乡族自治县| 邵阳市| 和田市| 丹阳市| 兰西县| 洛扎县| 靖宇县| 石渠县| 长寿区| 天峻县| 横山县| 布尔津县| 内江市| 石河子市| 丰都县| 临高县| 资中县| 奈曼旗| 酒泉市| 杭州市| 定日县| 手游| 江陵县| 冀州市| 射洪县| 皋兰县| 乌兰县| 白沙| 抚松县| 华坪县| 德化县| 晋中市| 邹城市| 沐川县| 阿勒泰市|