题目链接:传送门

思路:欧拉函数的性质:前n个数的欧拉函数之和为φ(n)*n/2,由此求出结果。

参考文章:传送门

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long LL;
const LL MOD = 1e9+;
LL POW(LL a,LL b)
{
LL ans=;
while(b)
{
if(b%) ans=ans*a%MOD;
a=a*a%MOD;
b/=;
}
return ans;
}
LL Euler(LL x)
{
LL i,ans=x;
for(i=;i<=sqrt(x);i++)
{
if(x%i==)
{
ans=ans/i*(i-)%MOD;
while(x%i==) x/=i;
}
}
if(x>)
{
ans=ans/x*(x-)%MOD;
}
return ans;
}
int main(void)
{
LL n,k,A,B;
while(~scanf("%lld%lld%lld%lld",&n,&k,&A,&B))
{
LL ans=n*Euler(n)/; //注意:这里不能对MOD取余
ans=(A+B)%MOD*POW(k,ans)%MOD;
printf("%lld\n",ans);
}
return ;
}

最新文章

  1. 一起学微软Power BI系列-官方文档-入门指南(6)Power BI与Excel
  2. 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)
  3. python【1】-基础知识
  4. Javascript生成全局唯一标识符(GUID,UUID)的方法
  5. 错误:升级为xcode8之后无法上网的解决方法
  6. .NET 4.0中的泛型协变和反变
  7. VC GDI双缓冲机制绘图防屏幕闪烁实现步骤
  8. Spring boot(4)-应用打包部署
  9. 第六章 对象-javaScript权威指南第六版
  10. [JDBC] 实用性能提升
  11. ubuntu16.04 安装java
  12. Python编程练习:使用 turtle 库完成玫瑰花的绘制
  13. linux中的pwd
  14. 手动卸载CAD 删除残留文件 清理遗留的文件
  15. 【洛谷p1031】均分纸牌
  16. java基础-day11
  17. 如何简单区分Web前后端与MVC
  18. spring 和 spring boot 的区别
  19. CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑等
  20. arcgis server 无法手动删除切片

热门文章

  1. Netty实践一(数据通信)
  2. 微信小程序开发——setData的使用技巧
  3. 微信小程序接入百度统计
  4. git log的用法
  5. ThreeJS中的点击与交互——Raycaster的用法
  6. c++计时
  7. N! (大数,优化)
  8. UI设计教程分享:电商网页页面设计常见表现手法
  9. Maven 下载安装
  10. PhpStorm 为 Laravel 搭建 PhpUnit 单元测试环境