计算A的2到A-1进制数总和,同时以最简约分数展示
#include<iostream>
using namespace std;
int maxgongyue(int a,int b)//求公约数函数
{
while(a%b)
{
int c=a%b;
a=b;
b=c;
}
return b;
}
int main()
{
int n;
while(cin>>n)
{
if(n<3)
cout<<n<<"/1"<<endl;
else{
int sum=0;
for(int i=2;i<n;i++)
{
int temp=n;
while(temp>0){//求得A表示的i进制数的各位数和
int a=temp%i;
sum+=a;
temp /= i;//temp值不断刷新
}
}
int d=maxgongyue(sum,n-2);
cout<<sum/d<<'/'<<(n-2)/d<<endl;//同时除以最大公约数
}
}
return 0;
}