Codeforces 13A题解中,如何巧妙运用数学方法解决数字问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计327个文字,预计阅读时间需要2分钟。
这个问题是一个关于最大公约数(GCD)的编程问题。以下是简化的开头和内容:
---
题目:这是一个数学问题,只需要会10次进制转换就可以解答了。
PS:答案需要约分,可以直接使用C++自带函数__gcd(x,y)。
谷歌网址:[https://www.luogu.org/problem/CF13A](https://www.luogu.org/problem/CF13A)
Codeforces网址:[http://codeforces.com/problemset/problem/](http://codeforces.com/problemset/problem/)
---
这题是个水题,
只需要会10转P进制就行了。
PS:答案需要约分,可以直接用c++自带函数__gcd(x,y)。
洛谷网址:www.luogu.org/problem/CF13A
Codeforces网址: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 }
本文共计327个文字,预计阅读时间需要2分钟。
这个问题是一个关于最大公约数(GCD)的编程问题。以下是简化的开头和内容:
---
题目:这是一个数学问题,只需要会10次进制转换就可以解答了。
PS:答案需要约分,可以直接使用C++自带函数__gcd(x,y)。
谷歌网址:[https://www.luogu.org/problem/CF13A](https://www.luogu.org/problem/CF13A)
Codeforces网址:[http://codeforces.com/problemset/problem/](http://codeforces.com/problemset/problem/)
---
这题是个水题,
只需要会10转P进制就行了。
PS:答案需要约分,可以直接用c++自带函数__gcd(x,y)。
洛谷网址:www.luogu.org/problem/CF13A
Codeforces网址: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 }

