進位制均值-進位制轉換+最大公約數
題目
儘管是一個CS專業的學生,小B的數學基礎很好並對數值計算有著特別的興趣,喜歡用計算機程式來解決數學問題,現在,她正在玩一個數值變換的遊戲。她發現計算機中經常用不同的進製表示一個數,如十進位制數123表達為16進位制時只包含兩位數7、11(B),用八進位制表示為三位數1、7、3,按不同進製表達時,各個位數的和也不同,如上述例子中十六進位制和八進位制中各位數的和分別是18和11,。
小B感興趣的是,一個數A如果按2到A-1進製表達時,各個位數之和的均值是多少?她希望你能幫她解決這個問題?
所有的計算均基於十進位制進行,結果也用十進位制表示為不可約簡的分數形式。
輸入描述:
輸入中有多組測試資料,每組測試資料為一個整數A(1 ≤ A ≤ 5000).
輸出描述:
對每組測試資料,在單獨的行中以X/Y的形式輸出結果。
輸入例子1:
5
3
輸出例子1:
7/3
2/1
思路
題目非常基礎,當做複習。
主要包括十進位制與其他進位制的轉換和輾轉相除法。
程式碼
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNextInt()) {
int num = scan.nextInt();
int sum = 0;
for (int i = 2; i < num; i++) {
int n = num;
while (n != 0) {
sum += n % i;
n /= i;
}
}
int g = gcd(sum, num - 2);
System.out.println("" + sum/g + '/' + (num - 2)/g);
}
}
//輾轉相除法
private static int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
}
相關文章
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- Qt進位制轉換(十進位制轉十六進位制)QT
- 【進位制轉換】十進位制與十六進位制相互轉換方法
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- JavaScript 二進位制數字轉換為十進位制JavaScript
- 十六進位制轉換為八進位制
- 十六進位制轉換為十進位制
- 數的進位制轉換
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 十六進位制數轉十進位制
- ORACLE使用函式對二進位制、十進位制、十六進位制數互相轉換Oracle函式
- 進位制轉換
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- javascript十進位制數字和二進位制相互轉換JavaScript
- 二進位制轉十進位制快速轉換方法
- JavaScript十進位制轉換為二進位制JavaScript
- shell 中轉換16進位制10進位制
- Oracle二進位制與十進位制轉換Oracle
- lua之m進位制轉換為n進位制-任意進位制轉換演算法演算法
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- C# 2進位制、8進位制、10進位制、16進位制...各種進位制間的輕鬆轉換C#
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- (轉)【iOS 開發】二進位制、十進位制、十六進位制相互轉換的方法iOS
- 十進位制與二進位制互相轉換指南
- 進位制與二進位制及相關轉換
- 1474 十進位制轉m進位制+1475 m進位制轉十進位制
- JavaScript 進位制轉換JavaScript