首页 > 其他分享 >平方剩余代码实现

平方剩余代码实现

时间:2024-01-04 12:44:20浏览次数:17  
标签:剩余 平方 False 17 代码 平方根 True

def quadratic_residue_and_square_root(a, p):
    """
    计算模 p 下的平方剩余和平方根
    返回一个元组 (是否为平方剩余, 平方根1, 平方根2)
    """
    if not is_quadratic_residue(a, p):
        return (False, None, None)

    # 计算平方根
    x = pow(a, (p + 1) // 4, p)
    return (True, x, p - x)

def is_quadratic_residue(a, p):
    """
    判断 a 是否是模 p 的平方剩余
    """
    return pow(a, (p - 1) // 2, p) == 1

# 例子:计算模 17 下的平方剩余和平方根
p = 17

for a in range(p):
    result, root1, root2 = quadratic_residue_and_square_root(a, p)
    if result:
        print(f"模 {p} 下 {a} 的平方剩余是 True,平方根为 {root1} 和 {root2}")
    else:
        print(f"模 {p} 下 {a} 的平方剩余是 False")

运行结果

模 17 下 0 的平方剩余是 False
模 17 下 1 的平方剩余是 True,平方根为 1 和 16
模 17 下 2 的平方剩余是 True,平方根为 16 和 1
模 17 下 3 的平方剩余是 False
模 17 下 4 的平方剩余是 True,平方根为 1 和 16
模 17 下 5 的平方剩余是 False
模 17 下 7 的平方剩余是 False
模 17 下 8 的平方剩余是 True,平方根为 16 和 1
模 17 下 9 的平方剩余是 True,平方根为 16 和 1
模 17 下 10 的平方剩余是 False
模 17 下 11 的平方剩余是 False
模 17 下 12 的平方剩余是 False
模 17 下 13 的平方剩余是 True,平方根为 1 和 16
模 17 下 14 的平方剩余是 False
模 17 下 15 的平方剩余是 True,平方根为 16 和 1
模 17 下 16 的平方剩余是 True,平方根为 1 和 16

标签:剩余,平方,False,17,代码,平方根,True
From: https://www.cnblogs.com/u5bf/p/17944996

相关文章

  • vscode调试无法进入代码
    ......
  • 贪吃蛇game.wxss代码
    /* pages/game/game.wxss */canvas {  height: 600rpx;  width: 600rpx;  border: 1rpx green solid;}.btnBox {  align-items: center;  margin: 40rpx;  display: flex;  flex-direction: column;}.btnBox button{  margin: 10rpx;}......
  • 一行代码解决:element admin 中动态设置快捷导航(标签栏导航)meta标签和title标签
    其实就是重置页面标签名称this.$store.dispatch('tagsView/updateVisitedView',Object.assign({},this.$route,{title:`${this.fileCode}`}))主页面跳转,传递需要参数<el-table-columnlabel="文件编号"align="center":show-overflow-tooltip="true"......
  • 源代码审计对企业有哪些好处
    源代码扫描,对应用程序进行静态漏洞扫描,分析源代码中存在的安全风险,运行应用于模拟器中对应用进行实时漏洞GJ检测。你是否了解源代码扫描对企业的好处?一、源代码扫描,通常能够帮助企业解决这些问题:1、软件代码中安全漏洞和未声明功能的存在是信息安全事件频繁发生的根源2、使用各种安......
  • 【机器学习】常见算法详解第1篇:K近邻 KNN和API使用(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用,结合场景解决实际问题。包括K-近邻算法,线性回归,逻辑回归,决策树算法,集成学习,聚......
  • 【Django开发】美多商城项目第1篇:项目结构设计和工程创建(附代码,已分享)
    本系列文章md笔记(已分享)主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django+Jinja2模板引擎+Vue.js实现前后端逻辑,Nginx服务器(反向代理)Nginx服务器(静态首页、商品详情页、uwsgi......
  • 贪吃蛇game.wxml代码
    <!--pages/game/game.wxml--><view class="container">  <view>玩家得分:{{score}}</view>  <canvas canvas-id="gameCanvas" />  <view class="btnBox">    <button type="primary" size="......
  • 构建高效外卖配送系统:技术要点与实际代码示例
    随着外卖服务需求的不断增长,构建一个智能化、高效的外卖配送系统成为餐饮业务成功的关键。在本文中,我们将重新审视外卖配送系统,着重思考技术架构,并提供一些实际代码示例,以展示系统中一些先进的技术要点。技术架构设计一个现代的外卖配送系统应该具备以下关键特性:实时配送调度、智能......
  • 构建高效外卖配送系统:技术要点与示例代码
    随着外卖服务的普及,构建一个高效的外卖配送系统成为餐饮业务成功的关键。在这篇文章中,我们将探讨外卖配送系统的关键技术要点,并提供一些示例代码,演示其中的一些实现方法。1.订单处理与管理在外卖配送系统中,订单处理是一个核心环节。以下是一个简化的订单类的示例代码,用Python语言......
  • 低代码开发:革新企业应用创新模式
    在当前信息化社会中,企业的运营管理和业务流程越来越依赖于各种应用程序。然而,传统的软件开发方式往往需要大量的专业技术人员和长时间的开发周期,这无疑给企业带来了很大的压力。因此,一种新型的软件开发方法——“低代码”应运而生。低代码是一种以图形化界面和配置为主导的应用程序......