这题让我深刻认识到我是个菜鸡 筛个因子都不会 这题跟分解质因数很像 这道题有1所以下标从1开始 for(int i = 1; i * i <= n ;i ++) if(n>1) res ++; 唯一不一样如果最后是一个平方数 比如n = 9 , i = 3 , 除完n = 3 还得+1但是要求不能重复 所以有两种解法 for(int i =1 ;i * i < n ;i ++) 这样最后一个因数一定没有计算在内如果是一个大于sqrt(n)的数正好就能是一个 如果最后是一个大于n的数也就是i * i == n 就把i 归结为一个合数就行 2: for(i , i * i &...