반응형

-1+3-5+7-9+11-13+15-17...



1-3+5-7+9-11+13-15+17...

홀수가 증가하며 교차로 부호가 +/- 로 바뀌며 기준점까지 총합을 구하는 코드입니다.


근데 왜 아래 코드 가운데 정렬이 안 풀릴까요..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class MPswapSum {
 
    public static void main(String[] args) {
        int minusStart = minusStart(100);
        System.out.println(minusStart);
        int plusStart = plusStart(100);
        System.out.println(plusStart);
    }
 
    public static int minusStart(int finishedNum) {
        int sum = 0;
        for (int i = 1; i <= finishedNum; i++) {
            if (i % 2 == 1) {
                if (sum >= 0) {
                    sum += (i * -1);
                } else if (sum < 0) {
                    sum += i;
                }
            }
        }
        return sum;
    }
 
    public static int plusStart(int finishedNum) {
        int sum = 0;
        for (int i = 1; i <= finishedNum; i++) {
            if (i % 2 == 1) {
                if (sum <= 0) {
                    sum += i;
                } else if (sum > 0) {
                    sum += (i * -1);
                }
            }
        }
        return sum;
    }
 
}
cs




결과 :



반응형
반응형
1부터 100까지 홀수끼리 합, 짝수끼리 합을 구하는 코드입니다.
저는 따로 startedNum과 finishedNum으로 매개변수를 설정하여
동적인 범위의 홀수 및 짝수값을 구하도록 했습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package Study_2707;
 
public class Sum1to100 {
 
    public static void main(String args[]) {
        oddSum(110);
        evenSum(110);
    }
 
    public static int oddSum(int startedNum, int finishedNum) {
        int oddSum = 0;
        for (int i = startedNum; i <= finishedNum; i++) {
            if (i % 2 == 1) {
                System.out.println(oddSum + " + " + i + " = " + (oddSum + i));
                oddSum += i;
            }
        }
        return oddSum;
    }
 
    public static int evenSum(int startedNum, int finishedNum) {
        int evenSum = 0;
        for (int i = startedNum; i <= finishedNum; i++) {
            if (i % 2 == 0) {
                System.out.println(evenSum + " + " + i + " = " + (evenSum + i));
                evenSum += i;
            }
        }
        return evenSum;
    }
 
}
 
cs






결과 : 



반응형
반응형

for문을 이용하여 1부터 100까지 합을 구했습니다.



1
2
3
4
5
6
7
8
9
10
11
12
public class Sum1to100 {
 
    public static void main(String[] args) {
        int sum = 0;
        for(int i=1; i<=100; i++) {
            System.out.println(sum + " + " + i + " = " + (sum+i));
            sum += i;
        }
        System.out.println(sum);
    }
 
}
cs





결과 : 



반응형
반응형

정보처리기사 / 정보처리산업기사 실기시험 알고리즘의

Section008 - 소수의 합 구하기 입니다.


Section008.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class Test008 {
 
    public static void main(String[] args) {
        int A=7;
         
        int HAP=0;
        int K=2;
        int J;
        int CNT=0;
         
        while(true) {
            J = 2;
            while(true){
                System.out.println("K="+K+" J="+J);
                if( (K%J)==0 ) {
                    if( K == J ) {  // 4를 찾는 경우, 4까지 온 경우
                        System.out.println("소수:"+K);
                        HAP = HAP + K;
                        CNT = CNT + 1;
                        break;
                    }
                    else
                        break;  // 4를 찾는데, 2에서 나누어진 경우
                }
                else {
                    J = J + 1;
                }
            }   // inner loop
            if( K < A ) {
                K = K + 1;
            }
            else {
                break;
            }
        }
/*     
        for(K=2; K <= A; K++) {
            for(J=2; J < K; J++) {
                System.out.println("K="+K+" J="+J);
                if( (K%J)==0 ) {
                    break;
                }
            }
            if( J == K ) {
                System.out.println("소수:"+K);
                HAP = HAP + K;
                CNT = CNT + 1;
            }
        }
*/     
        System.out.println("소수갯수="+CNT+" 소수합:"+HAP);
    }
 
}
반응형
반응형

정보처리기사 / 정보처리산업기사 실기시험 알고리즘의

Section004 - 1+2+4+7+11+16+22+... 증가하는 수열의 합입니다.

변수 k는 이해하기 쉽게 sum으로 사용 하였습니다.



Section004.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Section004 {
 
    public static void main(String[] args) {
        int i = 0;
        int j = 1;      // 수열 각 항이 저장될 변수
        int sum = 1;    // 수열 각 항이 누적될(합) 변수
         
        for(i=1; i<20; i++) {
            j = j+i;
            sum = sum + j;
            //System.out.println("i = " + i + " & j = " + j + " & sum = " + sum);
        }
        System.out.println(sum);
    }
}




결과 값

1
1350
반응형
반응형

정보처리기사 / 정보처리산업기사 실기시험 알고리즘의

Section001, 1부터 100까지 합입니다.

변수 j는 이해하기 쉽게 sum으로 사용 하였습니다.



Section001.java

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Section001 {
 
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;    // j 대신 사용
         
        for(i=1; i<=100; i++) {
            sum = sum + i;
            //System.out.println(i + "번째 합 = " + sum);
        }
        System.out.println("1부터 100까지 합 = " + sum);
    }
}



실행화면


1
5050


반응형

+ Recent posts