首页 > 其他分享 >杭电oj Realtime Status(利用快速幂)

杭电oj Realtime Status(利用快速幂)

时间:2023-04-02 13:55:20浏览次数:40  
标签:Status 10 oj power Realtime int base result

今天这个题我又又又是看大佬的题解。原因是我的暴力想法超时了…………

大家可以先搜索一下什么是快速幂。(我看完之后了解的快速幂,就是通过放大底数以达到减小指数从而大幅减少运算次数的方法)

这里就不赘述了,题目是这样的:

对了,再啰嗦几句,由于这个题的数据量很大并且他只需要输出个位,所以我们在每次进行完一次操作后都应该对10取模。这样以保证不会越过int的范围。

#include<iostream>
#include<cstring>
using namespace std;
int cul(int base,int power){
    int result = 1;
    base %= 10;                   //防止超过数据的范围
    while(power > 0){
        if(power & 1 == 1){
           result = result * base % 10;
        }
        power >>= 1;
        base = base * base % 10;
    }
    return result;
}
int main()
{
    int n;
    int m;
    cin>>n;
    for(int i = 0;i < n;i++){
        cin>>m;
    cout<<cul(m,m)<<endl;
    }
    return 0;
}

好了 这样这道题就结束了。

本题好收获了一个东西。判断一个数是奇数还是偶数是,让这个数和1按位与。这样更快。

好了 小灰灰继续加油!!!!!!!!!!!!!!!!

标签:Status,10,oj,power,Realtime,int,base,result
From: https://www.cnblogs.com/fighting-huihui/p/17280362.html

相关文章

  • 一篇关于异或操作的题解 (来源:杭电oj: find your present (2))
    害惭愧惭愧老长时间没写代码了——————————转回正题,对于杭电这个题先说我超时的错误想法—————————————————————————————————————————————————————————————— 一开始我的想法是开一个大小为100000......
  • 【原创】Ubuntu Pro 中的RealTime linux(Real-time Ubuntu/PREEMPT-RT/ubuntu官方PREE
    【原创】UbuntuPro订阅中的realtimelinux(Real-timeUbuntu/PREEMPT-RT)目录【原创】UbuntuPro订阅中的realtimelinux(Real-timeUbuntu/PREEMPT-RT)1.UbuntuPro简介2.Real-timeUbuntu3.订阅UbuntuPro4.安装realtimeLinuxkernel5.UbuntuProrealtimekernel简......
  • 并查集(nuist LevOJ P1648)
    一、并查集1.1并查集简介并查集是一种简单的集合表示,是一种树形数据结构,可处理不相交集合的合并及查询问题。并查集可求联动分支数。并查集存储:现有9个元素0~9,建立一个数组(初始化元素为-1),用数组下标表示元素,数组中的数据表示根节点的下标。数组中数据为负数时表示它是根节点......
  • BUUOJ-BUU LFI COURSE 1 1
    看题目是个本地文件包含  简单审计以下,包含一个file参数并包含这个参数所代表的文件。  根据之前在buuoj做题时遇到的flag,盲猜是/flag ......
  • 解决videojs 在Chrome浏览器下报:A network error caused the media download to fail
    记录一下videoJS在Chrome浏览器下有时候出现播放一半或者回退的一个恶心bug,错误提示如下:Anetworkerrorcausedthemediadownloadtofailpart-way.经过一下午的折腾查找,终于在GitHub上看到他们官方的一个解决方案,这个方案目前没有更新在官方文档最新版本中,只是随便提了一下......
  • Project 'org.springframework.boot:spring-boot-starter-parent:XXX' not found
    问题:Project'org.springframework.boot:spring-boot-starter-parent:XXX'notfound当spring-boot-starter-parent下面的版本报红时并不是这个版本不存在,而是因为idea会默认缓存Maven本地仓库已存在的中的依赖项。只是我们引入的的父依赖版本在本地仓库中不存在,所以就报......
  • The Suspects POJ - 1611 (并查集)
    题意:n个学生分属m个团体,一个学生可以属于多个团体。一个学生疑似患病则它所属的整个团体都疑似患病。已知0号学生疑似患病,以及每个团体都由哪些学生构成,求一共多少个学生疑似患病。分析:维护一个并查集,查询与0在同一集合的元素数量。#include<iostream>#include<cstdio>using......
  • Mapboxgl draw 自定义标绘:圆、矩形、自由多边形、上传读取geojson
    还没做文字标绘,累了,以后有需要有机会再说自定义标绘方法Mapboxgl标绘相关库我当前使用的版本是:"@mapbox/mapbox-gl-draw":"^1.4.1","@mapbox/mapbox-gl-draw-static-mode":"^1.0.1","mapbox-gl-draw-circle":"^1.1.2",&quo......
  • 乔布斯眼中的Project Glass:你该找个女朋友了
    ProjectGlass为Google赢得了不少赞誉之词,但也有人不以为然。科技博客“科技小萝莉”(Joylita)博主就是其中之一,她撰写了一篇名为《我不是机器人:乔帮主眼中的ProjectGlass》......
  • 利用Project进行工时等的报表统计
    利用Project制定报表不但很方便,而且有很强大的报表统计功能。主要的方法是:Project中自带了开始时间、完成时间、实际开始时间、实际完成时间等字段,但在实际填写进度时,当修改......