[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] 1271. [IOI 2012] Scrivener 斯克里夫尼

[TIOJ] 1429. [APIO '12] 忍者調度問題

[Codeforces] 731D. 80-th Level Archeology