京东2017进制均值

来源:互联网 发布:mysql 删除表记录 编辑:程序博客网 时间:2024/05/18 18:00
//计算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 stubScanner 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();}
原创粉丝点击