题目 思路 用散列就行。pat的题怎么有的简单的不行,有的又难又绕- -; AC代码 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int hash[100000]={0}; int d=0,cnt=0; for(int i=1;i<=n;i++){ d=i/2+i/3+i/5; hash[d]++; if(hash[d]==1) cnt++; } cout<<cnt; return 0; }