日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ 420 p次方求和 大数的幂

發布時間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NYOJ 420 p次方求和 大数的幂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

p次方求和

時間限制:1000?ms ?|? 內存限制:65535?KB 難度:3 描述
一個很簡單的問題,求1^p+2^p+3^p+……+n^p的和。 輸入
第一行單獨一個數字t表示測試數據組數。接下來會有t行數字,每行包括兩個數字n,p,
輸入保證0<n<=1000,0<=p<=1000。
輸出
輸出1^p+2^p+3^p+……+n^p對10003取余的結果,每個結果單獨占一行。
樣例輸入
2 10 1 10 2
樣例輸出
55 385 這個題求n的p次方是個難點,因為p會取到1000,平常求冪次方的求法肯定是不行的,所以就要優化。最簡單的優化方法就是用二進制優化,具體怎樣不在詳細說明,百度一下,你就知道。 #include<stdio.h> #include<math.h> long long fun(int a, int b) //求a的b次方 {long long s=1;while(b!=0){if(b&1) //b%2==1s=s*a%10003;a=a*a%10003;b>>=1;}return s; } int main() {int t,n,p,i;scanf("%d",&t);while(t--){scanf("%d%d",&n,&p);if(n==1){printf("1\n");continue;}else if(n==0){printf("0\n");continue;}else if(p==0){printf("%d\n",n);continue;}else{long long sum=1; //因為1的任何次冪都是1,所以直接令sum=1,節省時間for(i=2;i<=n;i++)sum+=fun(i,p);printf("%lld\n",sum%10003);}}return 0; }

總結

以上是生活随笔為你收集整理的NYOJ 420 p次方求和 大数的幂的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。