public class Test01 { public static void main(String[] args) { int sum = 0; for(int i=1; i<101; i++) { sum += i; System.out.println(i); } System.out.println(sum); }}
1+3+5+7+.. +99까지의 합계
public class Test02 { public static void main(String[] args) { int sum = 0; for(int i=1; i<100; i+=2) { sum += i; System.out.println(i); } System.out.println(sum); }}
스위치 변수 이용하기
1-2+3-4+5-6 … +99-100의 합계
public class Test03 { public static void main(String[] args) { int sum = 0; int flag = -1; for(int i=1; i<101; i++) { flag = flag*(-1); sum += (flag)*i; System.out.println((flag)*i); } System.out.println(sum); }}
순서에 의한 반복 계산
1-2+3-4+5-6 … -98+99까지의 합계
public class Test04 { public static void main(String[] args) { int sum = 0; for(int i=1; i<100; i++) { sum += i; i++; if (i == 100) { break; } sum += i*(-1); } System.out.println(sum); }}
홀짝 판별을 이용한 반복 계산
(-1)x2x(-3)x4(-5)x… x100의 합계
public class Test05 { // (-1)x2x(-3)x4(-5)x… x100의 합계 public static void main(String[] args) { int sum = 0; for(int i=1; i<101; i++) { if (i%2 == 0) { sum += i; } else { sum += i*(-1); } } System.out.println(sum); }}
public class Test06 { public static void main(String[] args) { double sum = 0; for(int i=1; i<100; i++) { if (i % 2 == 0) { sum += i/(double)(i+1); } else { sum += (-1)*(i/(double)(i+1)); } } System.out.println(sum); }}
항사이의 증가하는 값이 일정한 비율로 증가하는 수열
1+2+4+7+11+16+22+.. 로 증가하는 수열의 20번째 항까지의 합계
이 수열의 합을 구하는 핵심은 각 변수의 초기 값으로 증가 값을 0, 첫 번째 항을 1, 합계를 1로 시작하는 것
public class Test07 { public static void main(String[] args) { int sum = 1; int j = 1; for(int i=0; i<20; i++) { // 20번 수행 j += i; // 각 항을 저장할 j System.out.println(j); sum += j; } System.out.println(sum); }}
1+3+6+10+15+21+28+… 의 순서로 나열되는 수열의 20번째 항까지의 합계
public class Test08 { // 1+3+6+10+15+21+28+… 의 순서로 나열되는 수열의 20번째 항까지의 합계 public static void main(String[] args) { int sum = 0; int j = 0; for(int i=1; i<21; i++) { j += i; sum += j; System.out.println(i+"번째 항 : "+j); } System.out.println(sum); }}
항이 바뀔 때마다 빼기와 더하기가 번갈아 나열되는 수열
-1 +2 -4 +7 -11 + 16 -22 +… 의 순서로 나열되는 수열의 20번째 항까지의 합계
public class Test09 { // -1 +2 -4 +7 -11 + 16 -22 +… 의 순서로 나열되는 수열의 20번째 항까지의 합계 public static void main(String[] args) { int sum = 0; int j = 1; int k = 0; int sw = -1; for(int i=0; i<20; i++) { j += i; k = j*(sw); sum += k; sw *= -1; } System.out.println(sum); }}
1! + 2! + 3! + 4!+ .. + 10!의 순서로 나열되는 수열의 10번째 항까지의 합계
public class Test10 { // 1! + 2! + 3! + 4!+ .. + 10!의 순서로 나열되는 수열의 10번째 항까지의 합계 public static void main(String[] args) { int sum = 0; int j = 1; for(int i=1; i<11; i++) { j *= i; sum += j; } System.out.println(sum); }}
1+1+2+3+5+8+13…의 순서로 나열되는 피보나치 수열의 20번째 항까지의 합계
public class Test11 { // 1+1+2+3+5+8+13…의 순서로 나열되는 피보나치 수열의 20번째 항까지의 합계 public static void main(String[] args) { int sum, cnt, c; int a=1, b=1; sum = 2; cnt = 2; while(true) { c = a+b; sum += c; cnt++; if (cnt <20) { a = b; b = c; } else { System.out.println(sum); break; } } }}