求M的N次方最后三位

STM32H750VBT6在Keil5下载报错?三步搞定Flash Download Failed Cortex-M7问题 本文针对STM32H750VBT6在Keil5开发环境中常见的“Flash Download Failed Cortex-M7”下载报错问题,提供了系统性的三步解决方案。核心在于理解该芯片128KB内部Flash的特殊性,并详细指导用户检查更新Device Pack、精确配置Flash下载算法地址(0x08000000, 0x20000)以及进行硬件连接验证,从而快速修复调试器与芯片间的Flash操作协议问题。 阅读详情

正整数M 的N次方有可能是一个非常大的数字,我们只求该数字的最后三位

例1:

比如输入5和3 ,5的3次方为125,则输出为125 

例2:

比如输入2和10  2的10次方为1024 ,则输出结果为24

例3:

比如输入111和5  111的5次方为116850581551,则输出结果为551

方法一:

因为m是比较大的数,n次方之后有可能会超出范围,我们可以利用大树相乘的方法:将数字看成一串字符串,按位相乘。但这种方法较繁琐。因为只取最后三位,我们每进行一次乘法就模1000,只留最后三位数即可。

int last_three_number(unsigned int m,unsigned int n)
 {
	 if(0==n) return 1;
	 if(0==m) return 0;
	 unsigned int i=0,result=1;
	 for(;i<n;i++)
	 {
	   result*=m;
	   if(1000<=result)
	   {
		   result%=1000;
	   }
	 }
	 return result;

 }
方法二:

二分求幂,在方法一的基础上,乘法不再是m*m。而是m的n/2次幂乘以m的n/2次幂。

代码如下:

int last_three_number1(unsigned int m,unsigned int n)
 {
	 if(0==n) return 1;
	 if(0==m) return 0;
	 unsigned int i=0,result=1;
	 while(n!=0)
	 {
		 if(n%2==1) result=(result*m)%1000;
		 m=(m*m)%1000;
		 n/=2;
	 }
	 return result;

 }





[Unity开发] [PICO]避坑指南:PICO商店上传APP时PXR Platform APPID设定详解 PICO开发者上传Unity应用时常见的"APPID不符"问题,主要源于混淆了开发者后台两个不同位置的APPID。 阅读详情

相关推荐

031、速度前馈与加速度前馈

摘要: 本文通过追剪机调试案例,阐述了速度前馈加速度前馈在运动控制中的关键作用。前馈不是高级技巧,而是解决动态响应问题的必要手段:速度前馈通过预测速度变化提前补偿,加速度前馈则针对惯量变化提供力矩补偿。实现时需注意信号平滑处理,避免噪声放大。前馈与PID分工明确,前馈承担主要动态响应,PID处理残余误差。调试应先调前馈再微调PID,前馈增益需计算而非仅凭参数调整,并允许适当残余误差。前馈作为开环补偿不会影响系统稳定性,但需配合平滑的指令生成器使用。(149

m0_50546716的博客 211

M的N次方最后三位

#include #include #include "oj.h" using namespace std; //思路:每相乘,仅保留积的最后三位 unsigned int GetLastThreeNumOfResult (unsigned int m, unsigned int n) { unsigned int result = m %1000; for (int i =1

xiaohanstu的专栏 2098

YOLO车牌目标检测数据集(含1000张图片)+对应voc、cocoyolo三种格式标签+划分脚本+训练教程.rar

1、YOLO目标检测数据集,真实场景的高质量图片数据,数据场景丰富,附赠训练教程数据集划分脚本,可以根据需自行划分训练集、验证集、测试集。2、使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(json)yolo(txt)三种格式标签,分别存放在不同文件夹下,可以直接用于YOLO系列的目标检测。3、数据集详情展示更多数据集下载:https://blog.csdn.net/m0_64879847/article/details/132301975

【OJ题集】m的n次方最后三位数

OJ题在线网址:http://acm.hnust.cn/JudgeOnline/problem.php?id=1787【问题描述】 m的n次方(12&lt;m,n≤130000000000)的最后三位数。 例如:13的13次方最后三位数是253,13的20次方最后三位数是801。 【输入】 有多组测试数据 每组测试数据一行,包含2个数据,即整数mn,两个数用逗号隔开。 【输出】每行输出...

Smileyan's blog 1万+

n的m次方的后三位...

<br />#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int x, y; cin >> x >> y; int result = 1; for(int i=0; i<y; i++) result = result * x % 1000; cout << resul

CNnumen 7412

[华为机试练习题]50.M的N次方最后三位

题目 描述: 正整数M 的N次方有可能是一个非常大的数,我们只该数最后三位 例1: 比如输入53 ,5的3次方为125,则输出为125 例2: 比如输入210 2的10次方为1024 ,则输出结果为24 例3: 比如输入1115 111的5次方为116850581551,则输出结果为551 练习阶段: 初级 代码 /*-----...

SmartSi 840

m的n次方

      如果让你解 2 的 n 次方,并且不能使用系统自带的 pow 函数,你会怎么做呢?这还不简单,连续让 n 个 m 相乘就行了,代码如下: int pow(int n) { int tmp = 1; for (int i = 1; i <= n; i++) { tmp = tmp * m; } return...

dreamispossible的博客 4406

华为笔试题: M的N次方最后三位

描述:  正整数M 的N次方有可能是一个非常大的数,我们只该数最后三位 例1: 比如输入53 ,5的3次方为125,则输出为125  例2: 比如输入210  2的10次方为1024 ,则输出结果为24 例3: 比如输入1115  111的5次方为116850581551,则输出结果为551     #include #inc

不忘初心的专栏 2545

M的N次方最后三位 转载

#include #include "oj.h" unsigned int  GetLastThreeNumOfResult (unsigned int  m, unsigned int  n) {     if(m==0)//判断输入的MN的情况,在华为的测试历程中特别需要注意这些问题。 return 0; if(n==0) return 1;  unsigned

zhaohuaxicaishi的专栏 604

华为oj-----M的N次方最后三位* (越界处理)

正整数M 的N次方有可能是一个非常大的数,我们只该数最后三位例1:比如输入53 ,5的3次方为125,则输出为125 例2:比如输入210  2的10次方为1024 ,则输出结果为24例3:比如输入1115  111的5次方为116850581551,则输出结果为551#include &lt;stdlib.h&gt; #include "oj.h" unsigned int ...

nameix的博客 937

N的M次方 马蹄集

N的M次方 号难度:白银 。时间限制:1秒 巴占用内存:64M 输入正整数N(

m0_62574889的博客 437

华为OJ之初级篇Ⅱ

11.奖金提成 简要描述:企业发放的奖金根据利润提成。 利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(100000≤200000)时; 低于100000元的部分按10%提成; 高于100000元的部分,可提成7.5%; 200000≤400000时,低于200000元部分仍按上述办法提成,(下同); 高于2000

hitwhzhongqiu的专栏 1966

解M的N次方最后三位数

import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; public final class Demo { /* 功能: 解M的N次方最后三位数(M,N均大于10) 输入参数: int M:M > 10 int N:N > 10 返回值: M的N

闪闪的石头,不会疼痛 1959

M的N次方的后三位

1 #include <cstdlib> 2 #include <iostream> 3 using namespace std; 4 int main(int argc, char *argv[]) 5 { 6 int x, y; 7 cin >> x >> y; 8 9 in...

weixin_33971205的博客 1044

任意次方的后最后三位

技术要点:本题的算法思想如下:题中要任意一个数的任意次方三位数,咱们可以首先考虑计算结果是否越界,如何避免产生越界的问题的同时又不会出错,咱们就可以考虑使用余算法。编程一个整数任意次方后的最后三位数,即x^y的最后三位数,xy由键盘输入.在次方时每乘一都取其后三位,这样就可以避免出现越界的问题。实现过程:可以用取余的方法一个数任意次方的后三位

zjlzjjj的博客 858

1984年邮局数固定电话数.xlsx

该份数据在数经济领域研究中被较为广泛使用的工具变量。相对于互联网技术的发展速度信息技术的变革,历史上固定电话数量邮局数量对于制造业企业生产率的影响正在消失,就目前来看,固定电话与邮局的数量也难以影响企业层面的产出数据。从这个意义上看,在控制了其他变量后,选取历史上固定电话数量邮局数量作为工具变量在一定程度上满足排他性要

上一篇: 矩阵相乘
下一篇: 八皇后问题
LJDaisy
博客等级 码龄12年 19粉丝 151原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值