zoukankan      html  css  js  c++  java
  • HDU-6440-费马小定理

    亏我前几天还学数论呢。。。没有深入研究费马小定理这个东西。。。做事情一定要静下心来啊。。。

    题目要求满足(m+n)^p=m^p+n^p,要你定义一个封闭的新的加法和乘法运算

    我们知道费马小定理中有两种表示法

    费马小定理:若p是素数且a是整数则a^p≡a(mod p),特别的若a不能被p整除,则a^(p-1)≡1(mod p).

    这道题就可以这么解决

    首先(m+n)^p=m^p+n^p都在%p的运算下进行,那么等式可以写为m+n=m+n(mod p)恒成立

    那么我们就知道这个式子定义的新运算是在%p下进行的

    我们把新的加法和乘法运算也变成在%p下进行的运算即可

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    int main(){
      int t;
      int p;
      int ans1,ans2;
      scanf("%d",&t);
      while(t--){
        scanf("%d",&p);
        for (long long i=1;i<=p;i++){
             for (long long j=1;j<=p;j++){
                if(j!=p)printf("%lld ",(i-1+j-1)%p);
                else printf("%lld
    ",(i-1+j-1)%p);
             }
        }
          for (long long i=1;i<=p;i++){
             for (long long j=1;j<=p;j++){
                if (j!=p)printf("%lld ",(j-1)*(i-1)%p);
                else printf("%lld
    ",(j-1)*(i-1)%p);
             }
        }
      }
      return 0;
    }
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    Vue
    多线程
    多进程进阶
    CentOS7中安装MySQL
    socket
    回顾
    Hibernate学习一:Hebinate入门以及一些小问题
    struts2学习二:Tomcat的部署目录和访问路径问题
    struts2学习一:hello struts2及struts2环境配置中遇到的问题
    Scanner几个问题与正则简介
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/9536625.html
Copyright © 2011-2022 走看看