大数取余运算(详解)

//(19^3 mod 23)^2 mod 31=25
//a=19 b=3 c=23 d=2 e=31
#include<stdio.h>
long long powMod(int a,int b,int c)
{int result = 1;while(b){if(b % 2 == 1)   //3%2=1    1%2=1result = result * a % c;  //1*19%23=19   19*16%23=5b/= 2;          //b=b/2  b=3/2=1(int)  b=1/2=0(int) 退出循环 a = a * a % c;  //a=a*a%c=16 }return result;  //返回值5
}int main()
{int a,b,c,d,e;int i=1;printf("输入a,b,c,d,e\n");scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); //a=19 b=3 c=23 d=2 e=31printf("前半部分余数为:\n");      printf("%d\n",powMod(a,b,c));      //5printf("总余数为:\n");      printf("%d",powMod(powMod(a,b,c),d,e));  //同理,再此使用powMod函数(a=5,b=2,c=31) 5^2 mod 31=25//此时不符合b%2==1//执行b/=2=>b=1  a=a*a%c=5*5%31=25  //1%2=1  result=1*25%31=25//b/=2 b=0(int)//a=a*a%c=5*5%31=25  //返回值25 return 0;}

大数取余运算(详解)相关推荐

  1. python中如何取余_基于python 取余问题(%)详解

    取余的公式: 余数=除数-被除数*商 python的的余数是按照整除(向下取整)得到的商来计算的. 取余问题主要分为 : 正数与正数,负数与负数,正数与负数 ,0 正数与正数 #大数/小数:因为得出的 ...

  2. python取余还是相乘_python取余还是相乘_基于python 取余问题(%)详解

    取余的公式: 余数=除数-被除数*商 python的的余数是按照整除(向下取整)得到的商来计算的. 取余问题主要分为 : 正数与正数,负数与负数,正数与负数 ,0 正数与正数 #大数/小数:因为得出的 ...

  3. 【面试相关】python实现快速幂取余算法详解

    假设我们要计算 2102^{10}210 对1000取模的结果,可以很简单的得到24.但是如果要求 210002^{1000}21000 对1000取模的结果,常规方法就行不通了,因为常规的变量无法容 ...

  4. 取模(余)%运算详解

    取模(余)%运算详解 1.JAVA中 对于整型数a,b来说,取模运算是:               1.求 整数商: c = a/b;               2.计算模: a%b = a - ...

  5. JAVA 大数的乘法运算和取余运算

    莫妒他长,妒长,则己终是短:莫护己短,护短,则己终不长. 1.乘法运算 这是一道入门的算法题,目的就是求两个超过基础数据类型所表示的两个数的乘积. 刚开始看到这道题我想的便是分解 计算 合并 ,但是合 ...

  6. java大数运算详解【其三】大数乘法之平方算法之按位二次展开式算法

    目录 java大数运算详解[其一]大数加减法 java大数运算详解[其二]大数乘法 java大数运算详解[其三]大数乘法之平方算法之按位二次展开式算法 java大数运算详解[其四]大数乘法之平方算法之 ...

  7. 位运算详解+竞赛常见用法总结

    目录 一.位运算详解 二.位运算应用 1.快速幂 2.给定一个数组A, 长度为n,求下面这段程序的值 3.数数字 4.数数字 2 5.nim博弈问题: 6.树状数组 7.判断一个数x是不是2的某次方 ...

  8. (转)C语言位运算详解

    地址:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html C语言位运算详解 作者:911 说明:本文参考了http://www2.ts ...

  9. python中的取余运算符是_python取余运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python中对负数求余的计算方法和求幂运算注意点python中对负数求余的计算 ...

最新文章

  1. linux time
  2. 转载 WHO OWNS THE MOST SERVERS ?
  3. python 错误类型及解释
  4. 三分钟了解APS系统中生产计划排程模块的基本原理
  5. 几个不错的网站(转)
  6. Layui-select 修复搜索之后上下键的bug
  7. 摩尔庄园手游服务器链接不稳定,摩尔庄园手游公测常见问题解决方法一览
  8. Wind量化接口初探
  9. xlsxwriter设置列宽_Python3之excel操作xlsxwriter模块
  10. html粒子特效图片切换,javascript转换静态图片,增加粒子动画效果_javascript技巧...
  11. 程序员画像,十年沉浮
  12. 【JIRA 学习】JIRA 配置缺陷的reopen 次数
  13. java蓝桥杯练习 学做菜
  14. 基于HBuilderX创建移动app项目并利用mui实现简单页面跳转
  15. 计算机bios设置系统安装教程,z590主板装win7系统及bios设置教程(支持11代cpu驱动)...
  16. Go 使用consul服务治理 rpc通讯
  17. python混合整数非线性规划_什么是混合整数非线性规划问题
  18. c# leetcode1079. 活字印刷(回溯算法)
  19. 红米note4出厂系统版本_红米 Note 4 开始接收 MIUI 10 国际稳定版系统更新
  20. 笔记:新一代视频压缩编码标准-h.264/AVC

热门文章

  1. 华为交换机Trunk配置
  2. Kubernetes 常见问题总结
  3. 解决服务器被黑上不了网的问题
  4. Windows防火墙增加访问端口
  5. crontab定时任务常见问题
  6. shell脚本一键安装二进制Apache
  7. ELK的端口以及加入x-pack的密码问题
  8. 【PL/SQL】PL/SQL介绍
  9. AndroidStudio出现 Unknown verification type [95] in stack map frame 问题的解决办法
  10. iOS报错:linker command failed with exit code 1 (use -v to see invocation) 问题解决方式之一