진 평균 값 - 진 변환 + 최대 공약수
2813 단어 【알고리즘】
CS 학과 학생 임 에 도 불구 하고 B 군 은 수학 기초 가 좋 고 수치 계산 에 특별한 관심 을 가지 고 컴퓨터 프로그램 으로 수학 문 제 를 해결 하 는 것 을 좋아 합 니 다. 지금 은 수치 변환 게임 을 하고 있 습 니 다.그 는 컴퓨터 에서 항상 다른 진법 으로 한 수 를 표시 하 는 것 을 발견 했다. 예 를 들 어 10 진수 123 이 16 진법 으로 표 현 될 때 두 자릿수 7, 11 (B) 만 포함 하고 8 진법 으로 세 자릿수 1, 7, 3 을 표시 하 며 서로 다른 진법 으로 표현 할 때 각 자릿수 의 합 도 다르다. 예 를 들 어 상기 예 에서 16 진법 과 8 진법 에서 각 자릿수 의 합 은 각각 18 과 11 이다.작은 B 가 관심 을 가 지 는 것 은 하나의 숫자 A 가 2 에서 A - 1 진법 으로 표현 할 때 각 자릿수 의 합 은 얼마 입 니까?그녀 는 네가 그녀 를 도와 이 문 제 를 해결 할 수 있 기 를 바 랍 니까?모든 계산 은 10 진법 에 기초 하여 진행 되 었 고 결 과 는 10 진법 으로 간략하게 할 수 없 는 점수 형식 으로 표시 되 었 다.
입력 설명:
입력 중 여러 조 의 테스트 데이터 가 있 고 각 조 의 테스트 데 이 터 는 하나의 정수 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);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
진 평균 값 - 진 변환 + 최대 공약수CS 학과 학생 임 에 도 불구 하고 B 군 은 수학 기초 가 좋 고 수치 계산 에 특별한 관심 을 가지 고 컴퓨터 프로그램 으로 수학 문 제 를 해결 하 는 것 을 좋아 합 니 다. 예 를 들 어 10 진수 123...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.