目录
1.The Black Hole of Numbers
2.最大公约数(欧几里得算法)
3.最小公倍数
4.我要通过!
5.Sum of Number Segments
6.Elevator
7.Counting Ones
8.数组元素循环右移问题
9.分数的定义及化简
10.分数的加减乘除以及输出
11.Rational Sum
12.Rational Arithmetic
1.The Black Hole of Numbers
这一题也是修修补补才做出来,关键在于自己的逻辑是错误的但是却没意识到,所以就只能碰巧通过一些测试点。
更简单的方法应该是拿到这个数字后,先把它变成数组的形式存储,之后分别按非递增和非递减的方式排序并计算大和小的值,再与6174进行比较
#include
#include
#include
#include
#include
#include
#include
2.最大公约数(欧几里得算法)
int gab(int a,int b){
if(b==0) return x;
else return gab(b,a%b);
}
3.最小公倍数
int lcm(int x){
return a*b*gcb(a,b);
}
4.我要通过!
看起来很离谱的一个题目,需要仔细观察题目给的式子。
最后可以得出x=z-x*(y-1)这样的关系式
#include
#include
#include
#include
#include
#include
#include
5.Sum of Number Segments
有一个点无法通过
#include
#include
#include
#include
#include
#include
#include
6.Elevator
#include
#include
#include
#include
#include
#include
#include
7.Counting Ones
很有意思的数学问题
#include
#include
#include
#include
#include
#include
#include
8.数组元素循环右移问题
#include
#include
#include
#include
#include
#include
#include
9.分数的定义及化简
struct fraction{
int up,down;
};
fraction f(fraction a){
if(a.down<0){
a.down=-a.down;
a.up=-a.up;
}
if(a.up==0){
a.down=1;
}else{
int d=gac(a.up,a.down);
a.up/=d;
a.down/=d;
}
return a;
}
10.分数的加减乘除以及输出
fraction add(fraction a,fraction b){
fraction result;
result.up=a.up*b.down+a.down*b.up;
result.down=a.down*b.down;
return reduction(result);
}
fraction minu(fraction a,fraction b){
fraction result;
result.up=a.up*b.down-a.down*b.up;
result.down=a.down*b.down;
return reduction(result);
}
fraction multi(fraction a,fraction b){
fraction result;
result.up=a.up*b.up;
result.down=a.down*b.down;
return reduction(result);
}
fraction divide(fraction a,fraction b){
fraction result;
result.up=a.up*b.down;
result.down=a.down*b.up;
return reduction(result);
}
void showresult(fraction r){
r =reduction(r);
if(r.down==1) printf("%lld",r.up);
else if(abs(r.up)>r.down){
printf("%d %d/%d",r.up/r.down,abs(r.up)%r.down,r.down);
}else printf("%d/%d",r.up,r.down);
}
11.Rational Sum
#include
#include
#include
#include
#include
#include
#include
12.Rational Arithmetic
#include
#include
#include
#include
#include
#include
#include