mmxingye

导航

06 | sqrt应用-求因子和

题目描述

已知一个正整数N(20 <= N <= 800000000),请你编写程序求出该数的全部因子(不包括1和n)的和。

输入

一个正整数n。

输出

一个整数代表n的因子和。

样例

输入复制

24

输出复制

35
#include <bits/stdc++.h>
using namespace std;

int main(){
	int n,i,s=0;
	cin>>n;
	//循环n的尹子范围2-sqrt(n),成对求解n的尹子
	for(i=2;i<=sqrt(n);i++){
		//如果i是n 的尹子
		if(n%i==0){
			//判断两个因子是否相等
			if(i!=n/i){
				s=s+i+n/i;
			}
			else{
				s=s+i;
			}
		}
	}
	cout<<s<<endl;
	getchar();
	getchar();
}

posted on 2022-06-09 18:59  独立树  阅读(192)  评论(0)    收藏  举报