1044: 七夕节

错误:如果每次判断是否为因子,使用sqrt函数,就会超时。要么改成j*j<=n,要么就先单独存储一次sqrt(n)

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

int main(){
	int t;
	scanf("%d",&t);
	for(int i=0;i<t;i++){
		int n;
		scanf("%d",&n);
		int ans=1;
		if(n!=1)
		{
			for(int j=2;j*j<=n;j++){
				if(n%j==0){
				    if(n/j==j)
				        ans+=j;
					else ans=ans+j+n/j;
				}
			}
		}
		printf("%d\n",ans);
	}
}
posted @ 2026-02-10 17:12  peter_shen  阅读(13)  评论(0)    收藏  举报