首页 > 其他分享 >1e9+7对于计算机

1e9+7对于计算机

时间:2023-02-08 19:57:39浏览次数:57  
标签:取模 计算机 对于 质数 109 1e9

1e9+7 对于计算机来说意味着什么

出现场景

最近做LeetCode,发现很多关于数值计算的问题,在最后都要将结果%1e9+7。于是就好奇为什么要模这个值?别的值不行吗?

1e9+7是一个质数

对于计算机来说,109+7是一个常用的模数,在涉及大规模运算的算法中经常使用它。这是因为数字109+7是一个质数,使用它作为模数有助于确保计算的中间结果保持小并且易于管理。执行任何在109+7上取模的计算都会产生一个在0到109+6之间的结果。

为什么要用1e9+7作为mod值

首先,c/c++在数据的处理中会有溢出和精度的问题,取模运算应运而生。

其次,取任意值x,当x % (1e9 + 7)的结果范围是介于[0~(1e9+7)]之间的。

当一个问题只对答案的正确性有要求,而不在乎答案的数值,可能会需要将取值很大的数通过求余变小

这个区间范围内的值对于计算机在数据精度和防止溢出问题上都是完全没问题的。

别的质数值不行吗?

也行,但是在一些特例上会出现报错(防止你蒙对)。

但是1e9+7是一个“足够大”的质数,那么对于取模后的值介于[0~(1e9+7)]之间,将这个容错率大大降低。

那么为什么不是1e9+13?

这方面我同意参考csdn作者Arvin____的说法:这更像是一种约定俗成的结果,有点机器学习中归一化的味道。

再大一点行不行?比如1e10+7

举个例子:
int a=0x3f3f3f3f; int b=0xc0c0c0c0; 输出: a=1061109567 b=-1061109568
对于计算机中的正负无穷来说:

正无穷:0x3f3f3f3f
负无穷:0xc0c0c0c0

所以针对指数幂上再大就不行了


参考链接:

  1. http://t.csdn.cn/6FOuu
  2. https://stackoverflow.com/questions/9169167/need-help-in-mod-1000000007-questions
  3. https://blog.51cto.com/u_15067234/4216624

标签:取模,计算机,对于,质数,109,1e9
From: https://www.cnblogs.com/Android-log4/p/17103101.html

相关文章

  • 个性化泛在学习支持系统对大学生计算机编程课程学习表现和态度的影响
    个性化泛在学习支持系统对大学生计算机编程课程学习表现和态度的影响(Effectsofapersonalisedubiquitouslearningsupportsystemonuniversitystudents’learnin......
  • 计算机网络-应用层协议
    前言:本章将介绍关于应用层的协议,如下图所示一、应用协议的概要利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等,能够让这些应用进行通......
  • Python-计算机编程语言
    语言的区别人类语言:人与人之间沟通编程语言:人与机器之间沟通==========分割线==========编程方式交互式编程:命令行窗口,单命令执行,无法保存集成......
  • 计算机导论学习记录(二)
    这个作业的目标<学习内容的系列记录>这个作业属于哪个课程计算机导论这个作业要求在哪里https://www.bilibili.com/video/BV1EW411u7th/?spm_id_from=333.33......
  • 计算机网络--常用协议
    ARP协议ARP协议是位于数据链路层的地址解析协议(AddressResolutionProtocol)是通过解析IP地址得到MAC地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求......
  • 让计算机”思考“——12.1作为”工具“的程序和为了”思考“的程序
    程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU,通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。具体来说,控制就是指CPU和各......
  • 计算机网络概述
    计算机网络概述计算机网络的定义计算机网络将地理位置相互独立的计算机资源协调管理实现资源共享计算机网络组成资源子网:提供传输的数据通信子网:提供传输节点与通......
  • 2.4 便于计算机处理的“补数”
    表示负数的方法和右移的方法:用来填充右移后空出来的高位的数值,有0和1两种形式。区分什么时候补0什么时候补1:用二进制数表示负数的方法即可二进制数中表示负数值时,一般会......
  • 计算机网络物理层
    计算机网络物理层基本概念四大特性机械特性接口相关电器特性电压相关功能特性电频电压特性相关过程特性发送信号顺序相关两种信号模拟信号->丰富频......
  • 计算机视觉——SSD和YOLO简介
    前言本文记录用,防止遗忘计算机视觉——SSD和YOLO简介课件(单发多框检测SSD)生成锚框对每个像素,生成多个以它为中心的锚框给定n个大小s1,...,s2,和m个高宽比,那么生......