JAVA 고전 알고리즘(1)
public class exp2 {
public static void main(String args[]) {
int i = 0;
for (i = 1; i <= 20; i++)
System.out.println(f(i));
}
public static int f(int x) {
if (x == 1 || x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
}
혹시
public class exp2 {
public static void main(String args[]) {
int i = 0;
math mymath = new math();
for (i = 1; i <= 20; i++)
System.out.println(mymath.f(i));
}
}
class math {
public int f(int x) {
if (x == 1 || x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
}
【절차 2] 제목:101-200 사이 에 몇 개의 소수 가 있 는 지 판단 하고 모든 소 수 를 출력 합 니 다. 프로그램 분석:소 수 를 판단 하 는 방법:하나의 수로 각각 2 에서 sqrt(이 수)를 제거 하고 정 제 될 수 있다 면, 이 수 는 소수 가 아니 라 소수 임 을 나타 낸다.
public class exp2 {
public static void main(String args[]) {
math mymath = new math();
for (int i = 101; i <= 200; i++)
if (mymath.iszhishu(i) == true)
System.out.println(i);
}
}
class math {
public boolean iszhishu(int x) {
for (int i = 2; i <= x / 2; i++)
if (x % 2 == 0)
return false;
return true;
}
}
【절차 3] 제목:모든 것 을 출력 "수선화 수 ",이른바 "수선화 수 "세 자릿수 를 말 하 는데,그 숫자 큐 브 와 그 숫자 자 체 를 말한다.153 "수선화 수 ",153=1 의 3 차원+5 의 3 차원+3 의 3 차원 이기 때문이다. 1.프로그램 분석:for 순환 을 이용 하여 100-999 개의 수 를 제어 하고 각 수 는 개 비트,10 비트,백 비트 를 분해 합 니 다.
public class exp2 {
public static void main(String args[]) {
int i = 0;
math mymath = new math();
for (i = 100; i <= 999; i++)
if (mymath.shuixianhua(i) == true)
System.out.println(i);
}
}
class math {
public boolean shuixianhua(int x) {
int i = 0, j = 0, k = 0;
i = x / 100;
j = (x % 100) / 10;
k = x % 10;
if (x == i * i * i + j * j * j + k * k * k)
return true;
else
return false;
}
}
【절차 4] 제목:정수 분해 질량 인수.예 를 들 어 90 을 입력 하고 90=2*3*3*5 를 출력 합 니 다. 프로그램 분석:n 에 대해 분해 질량 인 수 를 진행 하려 면 먼저 가장 작은 질량 k 를 찾 은 다음 에 다음 절차 에 따라 완성 해 야 한다. (1)만약 에 이 질 수가 n 과 같다 면 질 인 수 를 분해 하 는 과정 이 이미 끝 났 음 을 설명 하고 인쇄 하면 된다. (2)만약 n !=k,그러나 n 이 k 에 의 해 정 제 될 수 있 으 면 k 의 값 을 인쇄 하고 n 을 k 로 나 누 는 업 체 로 새로운 정수 n 으로 첫 번 째 단 계 를 반복 해 야 합 니 다. (3)n 이 k 에 의 해 제거 되 지 않 으 면 k+1 을 k 의 값 으로 하고 첫 번 째 단 계 를 반복 한다.
public class exp2 {
public void fengjie(int n) {
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
System.out.print(i + "* ");
fengjie(n / i);
}
}
System.out.print(n);
System.exit(0);// / ,
}
public static void main(String[] args) {
exp2 c = new exp2();
System.out.println(" N :");
Scanner in = new Scanner(System.in);
int N = in.nextInt();
System.out.print(N + " : " + N + "= ");
c.fengjie(N);
}
}
【절차 5] 제목:조건 연산 자 를 포함 하여 이 문 제 를 완성 합 니 다:학습 성적> =90 점 짜 리 학 우 는 A 로,60~89 점 짜 리 는 B 로,60 점 이하는 C 로 표시 했다. 1.프로그램 분석:(a> b)?a:b 이것 은 조건 연산 자의 기본 예 입 니 다.
public class exp2 {
public static void main(String[] args) {
String str;
System.out.println(" N :");
Scanner in = new Scanner(System.in);
int N = in.nextInt();
str=(N> 90? "A ":(N> 60? "B ": "C "));
System.out.println(str);
}
}
[프로그램 6] 제목:두 개의 정수 m 와 n 을 입력 하여 최대 공약수 와 최소 공배수 를 구하 십시오. 1.프로그램 분석:압연 법 을 이용한다.
최대 공약수 구하 기:
public class exp2 {
public static void main(String args[]) {
commonDivisor(24, 32);
}
static int commonDivisor(int M, int N) {
if (N < 0 || M < 0) {
System.out.println("ERROR! ");
return -1;
}
if (N == 0) {
System.out.println("the biggest common divisor is: " + M);
return M;
}
return commonDivisor(N, M % N);
}
}
최소 공배수 와 최대 공약수 구하 기:
public class exp2 {
//
public static int gcd(int m, int n) {
while (true) {
if ((m = m % n) == 0)
return n;
if ((n = n % m) == 0)
return m;
}
}
public static void main(String args[]) throws Exception {
//
// Scanner chin = new Scanner(System.in);
// int a = chin.nextInt(), b = chin.nextInt();
int a = 23;
int b = 32;
int c = gcd(a, b);
System.out.println(" : " + a * b / c + "
: " + c);
}
}
【절차 7] 제목:s=a+aa+aa+aa+aa...a 의 값 을 구 합 니 다.그 중에서 a 는 숫자 입 니 다.예 를 들 어 5+55+5555+55555(이때 모두 5 개의 수 를 더 함),몇 개의 수 를 더 하면 키보드 제어 가 있다. 1.프로그램 분석:관건 은 모든 항목 의 값 을 계산 하 는 것 이다.
public class exp2 {
public static void main(String[] args) throws IOException {
int s = 0;
int n;
int t = 0;
BufferedReader stadin = new BufferedReader(new InputStreamReader(
System.in));
System.out.println(" n :");
String input = stadin.readLine();
n = Integer.parseInt(input);
for (int i = 1; i <= n; i++) {
t = t * 10 + n;
s = s + t;
System.out.println(t);
}
System.out.println(s);
}
}
[프로그램 8] 제목:하나의 수가 그 인자 의 합 과 같다 면 이 수 를 "완전무결 하 다 "。예 를 들 어 6=1+2+3.
프로 그래 밍 으로 1000 이내 의 모든 완 수 를 찾아내다.
public class exp2 {
public static void main(String[] args) {
int s;
for (int i = 1; i <= 1000; i++) {
s = 0;
for (int j = 1; j < i; j++)
if (i % j == 0)
s = s + j;
if (s == i)
System.out.println(i);
}
}
}
[프로그램 9] 제목:한 골 은 100 미터 높이 에서 자 유 롭 게 떨 어 지고 매번 착지 한 후 원래 높이 의 절반 으로 되 돌아 갑 니 다.다시 떨 어 지면 10 번 째 착지 할 때 모두 몇 미 터 를 거 쳐 야 합 니까?10 번 째 반등 은 얼마나 높 습 니까?
public class exp2 {
public static void main(String[] args) {
double s = 0;
double t = 100;
for (int i = 1; i <= 10; i++) {
s += t;
t = t / 2;
}
System.out.println(" 10 , :" + s);
System.out.println(" 10 :" + t);
}
}
【프로그램 10] 제목:1,2,3,4 개의 숫자 가 있 는데 서로 다 르 고 중복 되 지 않 는 세 자릿수 를 구성 할 수 있 습 니까?다 얼마예요? 1.프로그램 분석:백 자리,열 자리,개 자리 에 쓸 수 있 는 숫자 는 모두 1,2,3,4 이다.모든 배열 을 구성 한 후 조건 에 만족 하지 않 는 배열 을 제거한다.
public class exp2 {
public static void main(String[] args) {
int i = 0;
int j = 0;
int k = 0;
int t = 0;
for (i = 1; i <= 4; i++)
for (j = 1; j <= 4; j++)
for (k = 1; k <= 4; k++)
if (i != j && j != k && i != k) {
t++;
System.out.println(i * 100 + j * 10 + k);
}
System.out.println(t);
}
}
(잠시 여기까지 쓰 고 계 속····)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.