码迷,mamicode.com
首页 > 其他好文 > 详细

HDU6440(费马小定理)

时间:2019-04-08 00:50:21      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:read   class   直接   put   hdu   乘法   for   ++   display   

其实我读题都懵逼……他给出一个素数p,让你设计一种加和乘的运算使得\[(m+n)^p = m^p+n^p\]
答案是设计成%p意义下的加法和乘法,这样:\[(m+n)^p\ \%\ p = m+n\]\[m^p\ \%\ p=m\]\[n^p\ \%\ p=n\]
所以\[(m+n)^p\ \%\ p=(m^p+n^p)\ \%\ p\]
直接输出就行了。

int T, p;

int main() {
    for (read(T); T; T--) {
        read(p);
        rep(i, 1, p) {
            rep(j, 1, p) {
                printf("%d ", (i + j - 2) % p);
            }
            puts("");   
        }
        rep(i, 1, p) {
            rep(j, 1, p) {
                printf("%lld ", (ll)(i - 1) * (j - 1) % p);
            }
            puts("");
        }
    }
    return 0;
}

HDU6440(费马小定理)

标签:read   class   直接   put   hdu   乘法   for   ++   display   

原文地址:https://www.cnblogs.com/AlphaWA/p/10668211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!