블루 브리지 컵 역대 시험문제 순환절 길이
두 정수를 나누면 때때로 순환 소수가 발생하는데 그 순환 부분을 순환절이라고 부른다.예를 들어 11/13=6=>0.846153153......그 순환절은 [846153]로 모두 6위이다.아래의 방법은 순환절의 길이를 구할 수 있다.
코드를 자세히 읽고 밑줄 친 부분에 부족한 코드를 기입하세요.
public static int f(int n, int m)
{
n = n % m;
Vector v = new Vector();
for(;;)
{
v.add(n);
n *= 10;
n = n % m;
if(n==0) return 0;
if(v.indexOf(n)>=0) _________________________________ ; //
}
}
부족한 부분만 작성할 수 있으니 기존 코드를 반복해서 베끼지 마세요.아무런 여분의 문자도 기입하지 마라.
한 순환절에 중복된 숫자, 예를 들어 3/17이 있을 수 있기 때문에 소수점 뒤의 숫자에 따라 분석할 수 없다.이 문제는 매번 계산된 여수가 이전과 같은지 확인함으로써 순환절의 길이를 판단한다.나머지가 일단 같으면 10을 곱한 후 나머지를 나누어도 필연적으로 같기 때문이다.
package holiday;
import java.util.Vector;
public class Main {
public static int f(int n, int m)
{
n = n % m;
Vector v = new Vector();
for(;;)
{
v.add(n);
n *= 10;
n = n % m;
if(n==0) return 0;
if(v.indexOf(n)>=0) return v.size()-v.indexOf(n) ;
}
}
public static void main(String[] args) {
System.out.println(f(11,13));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.