2 条题解

  • -1
    @ 2023-10-6 14:29:50
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n,s;
    	cin>>n;
    	s=0; 
    	for( int i=1;i*i<=n;i++){
        if(n%i==0)s=s+i+n/i;
        if(i*i==n)s=s-i;
       	} 	
    	cout<<s<<endl; 
    	return 0;
    }
    
    • -2
      @ 2023-10-3 21:58:10

      解题思路: 因为题目说的是10的9次方要用开根号法 因为约数是成对出现的 所以可以看做如果这个数不是完全平方数 就是ii<=sqrt(n)时(sqrt即为开根号) 如果n%i==0 ans+=i; ans+=n/i; 如实完全平方数 减去sqrt(n)

      • 1

      信息

      ID
      113
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      (无)
      递交数
      373
      已通过
      97
      上传者