分析:对于任意一个数,它的约数总是成对出现的,但是对于完全平方数,它因为有两个约数不相等,所以只会出现奇数次,所以最终的结果就是减去完全平方数
1 #include "iostream" 2 #include "cstdio" 3 #include "cstring" 4 #include "string" 5 #include "cmath" 6 using namespace std; 7 long long n; 8 int main() 9 { 10 cin>>n; 11 long long res=sqrt(n); 12 cout<<n-res<<endl; 13 }