这是一道简单的思维题,如果你想到了的话会很简单。首先n的范围是7e4,如果简单地使用两个for循环进行遍历,肯定会超时。这道题的思路:直接找开完根的i和开完根的j,因为i*j<=n,且i,j为正整数,所以开完根的i和j都不超过sqrt(n),这样进行两次for循环找的话,时间复杂度就不会超时了。然后如果开完根的i和开完根的j不相等,那么ans+=2,因为两者是可以交换的,算两种,反之,如果相等,ans++就可以了。 #include <cstdio> #include <cstring> #include <string> #include <c...