意思就是算2到n-1进制的个位数和,然后与n-2求gcd
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
const double eps=1e-8;
int sgn(double a){return a<-eps?-1:a<eps?0:1;}
int main()
{
int n,sum=0,tmp=0,t;
scanf("%d",&n);
for(int i=2;i<=n-1;i++)
{
t=n;
while(t) {sum+=t%i;t/=i;}
tmp+=sum/(n-2);
sum%=(n-2);
}
n-=2;
if(sum!=0)
{
t=__gcd(sum,n);sum/=t;n/=t;
}
sum+=n*tmp;
if(sum!=0)
{
t=__gcd(sum,n);sum/=t;n/=t;
}
else n=1;
printf("%d/%d\n",sum,n);
}