NC223008. 日常诈骗签到题
描述
不管你认不认识竭泽,都给你重新介绍一下
竭泽,当代水平最底层的退役acmer,擅长出毒瘤题面签到题恶心选手,十恶不赦,大逆不道
可以给大家体会体会
所以,当云哥邀请竭泽的时候,竭泽心里当然是打起了小算盘,开始整活,再出一个题面恶心的签到题
题目:
竭泽十分喜欢数论,并且在莫比乌斯反演点了很多奇怪的技能点
const int maxn=1e6+5; bool vis[maxn]; int prime[maxn],mu[maxn]; void init_mu(int n){//init_mu(n) 就可得到1-n的莫比乌斯函数的值,存在mu中 int cnt=0; mu[1]=1; for(int i=2;i<n;i++){ if(!vis[i]){ prime[cnt++]=i; mu[i]=-1; } for(int j=0;j<cnt&&i*prime[j]<n;j++){ vis[i*prime[j]]=1; if(i%prime[j]==0) {mu[i*prime[j]]=0;break;} else { mu[i*prime[j]]=-mu[i];} } } }使用这个函数之后,可以用这个函数存放莫比乌斯函数的值
输入描述
第一行一个整数T
接下来T行数字每一行一个整数n
输出描述
输出答案 并对1e9+7取模
示例1
输入:
2 123 1234
输出:
7626 761995
Python3 解法, 执行用时: 142ms, 内存消耗: 4616K, 提交时间: 2023-08-13 14:39:15
n=int(input()) while n>0: n-=1 a=int(input()) print(a*(a+1)//2%1000000007)