京东笔试第一题
#include<iostream>
using namespace std;
int main()
{
int a,n;
while(cin>>a)
{
int sum=0;
if(a>2)
{
n=a-2;
for(int i=2;i<=a-1;i++)
{
int temp=a;
while(temp>0)
{
sum+=(temp%i);
temp/=i;
}
}
int t=n;
int t1=sum;
int z=t;
while(t1%t!=0)
{
z=t1%t;
t1=t;
t=z;
}
if(z!=1)
{
cout<<sum/z<<'/'<<n/z<<endl;
}
if(z==1)
{cout<<sum<<'/'<<n<<endl;}
}
if(a==2)
{
cout<<3<<'/'<<1<<endl;
}
if(a==1)
{
cout<<1<<'/'<<1<<endl;
}
}
return 0;
}
本地和调试都过了。可以参考,不过不需要考虑a=1,a=2的情况。