首页 > 其他 > 详细

HDU - 6440 Dream 2018中国大学生程序设计竞赛 - 网络选拔赛

时间:2018-08-25 19:22:04      阅读:176      评论:0      收藏:0      [点我收藏+]

给定的\(p\)是素数,要求给定一个加法运算表和乘法运算表,使\((m+n)^p = m^p +n^p(0 \leq m,n < p)\)
因为给定的p是素数,根据费马小定理得 \((m+n)^{p-1} \equiv 1(mod\ p)\)
因此,\((m+n)^{p} \equiv m + n\ (mod\ p)\),
同时,\(m^p + n^p \equiv m + n\ (mod\ p)\)
所以在模p意义下,\((m+n)^p = m^p +n^p(0\leq m,n < p)\) 恒成立,且加法运算与乘法运算封闭。

#include<bits/stdc++.h>
using namespace std;
const int maxn =1e5+5;
typedef long long LL;

int main()
{
    #ifndef ONLINE_JUDGE
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    int p;
    int T; scanf("%d",&T);
    while(T--){
        scanf("%d",&p);
        for(int i=0;i<p;++i){
            for(int j=0;j<p;++j){
                printf("%d%c",(i+j)%p,j==p-1?‘\n‘:‘ ‘);
            }
        }
        for(int i=0;i<p;++i){
            for(int j=0;j<p;++j){
                printf("%d%c",(i*j%p),j==p-1?‘\n‘:‘ ‘);
            }       
        }
    }
    return 0;
}

HDU - 6440 Dream 2018中国大学生程序设计竞赛 - 网络选拔赛

原文:https://www.cnblogs.com/xiuwenli/p/9534918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!