这题是个水题, 只需要会10转P进制就行了。 PS:答案需要约分,可以直接用c++自带函数__gcd(x,y)。 洛谷网址:https://www.luogu.org/problem/CF13A Codeforces网址:http://codeforces.com/problemset/problem/
这题是个水题,
只需要会10转P进制就行了。
PS:答案需要约分,可以直接用c++自带函数__gcd(x,y)。
洛谷网址:https://www.luogu.org/problem/CF13A
Codeforces网址:http://codeforces.com/problemset/problem/13/A
Code(C++):
1 #include<bits/stdc++.h> 2 using namespace std; 3 int jz(int x,int p) { 4 int s=0,a; 5 while(x>0) {//10转P进制 6 a=x%p; 7 s+=a;//直接将算出的哪一位加上 8 x/=p; 9 } 10 return s; 11 } 12 int main() { 13 int A,x=0; 14 cin>>A; 15 int y=A-2; 16 for(int i=2;i<A;i++) {//循环从2到A-1 17 int t=jz(A,i); 18 x+=t; 19 } 20 int d=__gcd(x,y);//最大公约数函数 21 x/=d;y/=d;//约分 22 cout<<x<<"/"<<y<<endl; 23 return 0; 24 }