//计算val表示为jinzhi进制后的各位和
public static int sum(int val,int jinzhi){
int sum = 0;
while (val!=0) {
sum+=val%jinzhi;
val/=jinzhi;
}
return sum;
}
//求最大公约数,使用辗转相除法
public static int commonDiv(int a,int b){
if (a<b) {//a中存较大的那个值
a = a^b;
b = a^b;
a = a^b;
}
while (a%b!=0) {
int leave = a%b;//求余数
a = b;
b = leave;
}
return b;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int val = scanner.nextInt();
int totalSum = 0;
for (int i = 2; i <= val-1; i++) {
totalSum+=sum(val,i);
}
int k = val-2;//可以转化为几种进制
int commondiv = commonDiv(totalSum,k);
System.out.println(totalSum/commondiv+"/"+k/commondiv);
}
scanner.close();
}
京东2017进制均值
最新推荐文章于 2020-10-11 20:56:43 发布