威尔逊定理的应用

威尔逊定理的应用题目 求 n 1 mod n 的值 很显然当 n 是合数时结果为 0 当然这里有个特例 4 当 n 为素数时 直接用威尔逊定理结果为 n 1 include iostream include cstdio include cstring include cmath defineLLlong cmath cstring cstdio iostream

题目: 求 (n-1)!mod(n)的值。

很显然当 n 是合数时  结果为0(当然这里有个特例4)

当 n 为素数时, 直接用 威尔逊定理  结果为n-1.

#include 
    
     #include 
     
      #include 
      
       #include 
       
       #define LL long long 
       using 
       namespace 
        std;  
       bool 
        is_prime(LL n) {  
       for( 
       int i= 
       2; i*i<=n; i++ 
       ) {  
       if(n%i== 
       0 
       )  
       return 
       false 
       ; }  
       return 
       true 
       ; }  
       int 
        main() {  
       int 
        T; LL n; scanf( 
       " 
       %d 
       ", & 
       T);  
       while(T-- 
       ) { scanf( 
       " 
       %lld 
       ", & 
       n);  
       if(n== 
       4 
       ) printf( 
       " 
       2\n 
       " 
       );  
       else 
       if 
       (is_prime(n)) { printf( 
       " 
       %lld\n 
       ", n- 
       1 
       ); }  
       else 
        printf( 
       " 
       0\n 
       " 
       ); }  
       return 
       0 
       ; } 
       
      
     
   

 

转载于:https://www.cnblogs.com/acm1314/p/4769313.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229499.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午4:34
下一篇 2026年3月16日 下午4:35


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号