[TIOJ] 1351. 魔法使的條件

題目連結:http://tioj.infor.org/problems/1351
$\sqrt{n}$把數字分解掉,再記錄一下就好了
#include <bits/stdc++.h>
using namespace std;
typedef long long lld;
#define PB push_back

int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	int t;cin>>t;
	while(t--){
		int x;cin>>x;
		int sx = ceil(sqrt(x));
		vector<int> fac;
		for(int i=1;i<sx;i++){
			if(x%i==0){
				fac.PB(i);
				fac.PB(x/i);
			}
		}
		if(sx*sx==x) fac.PB(sx);
		lld sm=0;
		for(auto i:fac) sm+=i;
		cout<<sm*fac.size()<<'\n';
	}
	return 0;
}

留言

這個網誌中的熱門文章

[TIOJ] 1902. 「殿仁.王,不認識,誰啊?」,然後他就死了……

[NPSC] 2009初賽 E. 檸檬汽水傳說

[AtCoder] [經典競程 90 題] 024 - Select +/- One(★2)