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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

2018第九届蓝桥杯C/C++ B国赛 —— 第六题:矩阵求和

發布時間:2024/5/6 c/c++ 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018第九届蓝桥杯C/C++ B国赛 —— 第六题:矩阵求和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

矩陣求和

經過重重筆試面試的考驗,小明成功進入 Macrohard 公司工作。
今天小明的任務是填滿這么一張表:
表有 n 行 n 列,行和列的編號都從1算起。
其中第 i 行第 j 個元素的值是 gcd(i, j)的平方,
gcd 表示最大公約數,以下是這個表的前四行的前四列:
1 1 1 1
1 4 1 4
1 1 9 1
1 4 1 16

小明突然冒出一個奇怪的想法,他想知道這張表中所有元素的和。
由于表過于龐大,他希望借助計算機的力量。

「輸入格式」
一行一個正整數 n 意義見題。

「輸出格式」
一行一個數,表示所有元素的和。由于答案比較大,請輸出模 (10^9 + 7)(即:十億零七) 后的結果。

「樣例輸入」
4

「樣例輸出」
48

「數據范圍」
對于 30% 的數據,n <= 1000
存在 10% 的數據,n = 10^5
對于 60% 的數據,n <= 10^6
對于 100% 的數據,n <= 10^7

資源約定:
峰值內存消耗(含虛擬機) < 256M
CPU消耗 < 2000ms

代碼

暴力解法
#include <iostream> #include <cmath> using namespace std; int gcd(int i,int j) {if (j==0) return i;return gcd(j,i%j); } int main() {int n;cin>>n;int sum=0;for (int l = 1; l <= n; ++l)sum+=pow(l,2);for (int i = 1; i <= n; ++i)for (int j = 1; j < i; ++j)sum+=2*pow(gcd(i,j),2);cout<<sum<<endl;return 0; }

總結

以上是生活随笔為你收集整理的2018第九届蓝桥杯C/C++ B国赛 —— 第六题:矩阵求和的全部內容,希望文章能夠幫你解決所遇到的問題。

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