当前位置: 首页 > news >正文

now code——小a和黄金街道(欧拉函数和快速幂模板)

小a和小b来到了一条布满了黄金的街道上。它们想要带几块黄金回去,然而这里的城管担心他们拿走的太多,于是要求小a和小b通过做一个游戏来决定最后得到的黄金的数量。
游戏规则是这样的:
假设道路长度为米(左端点为,右端点为),同时给出一个数(下面会提到的用法)
设小a初始时的黄金数量为,小b初始时的黄金数量为
小a从出发走向,小b从出发走向,两人的速度均为
假设某一时刻(必须为整数)小a的位置为,小b的位置为,若,那么小a的黄金数量会变为,小b的黄金数量会变为
当小a到达时游戏结束
小a想知道在游戏结束时的值
答案对取模

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod=1e9+7;
//欧拉函数就是求所有小于n的与n互质的数的个数和
//n * ola(n)/2就等于所有小于n的与n互质的数字的和
ll ola(ll n){
    ll res = n;
    for(ll i = 2;i*i <= n; i++){
        if(n%i==0){
            res=res-res/i;
            do{
                n/=i;
            }while(n%i==0);
        }
    }
    if(n>1)
        res = res - res/n;
    return res;
}
//求逆原函数 b = mod-2;
ll pow_mod(ll a,ll b){
    ll  res = 1;
    while(b){
        if(b&1)
            res = res*a%mod;
        a = a*a%mod;
        b >>= 1;
    }
    return res;
}
int main()
{
    ll n,k,a,b;
    scanf("%lld %lld %lld %lld",&n,&k,&a,&b);
    ll sum = n*ola(n)/2;
    a = (a*pow_mod(k,sum))%mod;
    b = (b*pow_mod(k,sum))%mod;
    printf("%lld",(a+b)%mod);
    return 0;
}

 

转载于:https://www.cnblogs.com/tonyyy/p/10306169.html

相关文章:

  • 手动配置IP网络
  • 移动商城第十三篇【用户拦截器】
  • HOWTO fix Windows Update error 0x80244019
  • 事件的捕获、冒泡、委托
  • 编写第一个HTML5文件
  • Spring学习笔记下载
  • Wordcloud各参数含义
  • Android多工程(project)开发实例
  • eclipse中项目svn转gitLab全过程
  • webRTC开启摄像头
  • 白话 KMP 算法
  • python web开发之flask框架学习(2) 加载模版
  • 异步任务 -- FutureTask
  • (二)学习JVM —— 垃圾回收机制
  • 搭建私有CA和证书认证
  • .pyc 想到的一些问题
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 07.Android之多媒体问题
  • conda常用的命令
  • DOM的那些事
  • eclipse(luna)创建web工程
  • ES6系列(二)变量的解构赋值
  • JavaWeb(学习笔记二)
  • jdbc就是这么简单
  • LeetCode18.四数之和 JavaScript
  • Mac转Windows的拯救指南
  • Mysql5.6主从复制
  • Python 反序列化安全问题(二)
  • Spring核心 Bean的高级装配
  • yii2中session跨域名的问题
  • 百度小程序遇到的问题
  • 第十八天-企业应用架构模式-基本模式
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 聚簇索引和非聚簇索引
  • 离散点最小(凸)包围边界查找
  • 区块链分支循环
  • 通过npm或yarn自动生成vue组件
  • 微服务框架lagom
  • 我感觉这是史上最牛的防sql注入方法类
  • 译自由幺半群
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #if #elif #endif
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (5)STL算法之复制
  • (C)一些题4
  • (solr系列:一)使用tomcat部署solr服务
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (多级缓存)缓存同步
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (实战篇)如何缓存数据
  • (转)Unity3DUnity3D在android下调试
  • ***详解账号泄露:全球约1亿用户已泄露
  • .net core Swagger 过滤部分Api