본문 바로가기

Algorithm/Sequence

자연수의 합 및 배수의 제곱의 합

Q. 서로 다른 2개의 자연수를 받아 그 사이에 존재하는 자연수의 합과 3의 배수의 제곱의 합을 구하여 출력하는 알고리즘을 제시하라.

(처리 조건)
- 함수 MOD(i,3) : 자연수 i를 3으로 나눈 나머지
- 순서도에서 사용되는 변수
  ① N1, N2 : 입력된 2개의 자연수 (N1<N2)
  ② i : 반복 처리
  ③ S1 : 두 자연수 사이의 존재하는 자연수의 합
  ④ S2 : 두 자연수 사이의 존재하는 3의 배수의 제곱의 합

 

≫ 순서도

 

≫ 코드

Python

S1=S2=0
N1 = input("자연수 입력 : ")
N2 = input("자연수 입력 : ")
i = int(N1)
N2 = int(N2)
while(i<N2):
     S1 = S1+i
     if(i%3 == 0):
         S2 = S2 + (i*i)
     i = i+1
print(S1, S2)

  C

#include <stdio.h>

void main() {
    int S1 = 0;
    int S2 = 0;
    int N1, N2, i;

    printf("자연수 입력 : ");
    scanf("%d", &N1);
    
    
    printf("자연수 입력 : ");
    scanf("%d", &N2);
    
    for(i=N1; i<N2; i++){
        S1 = S1+i;
        if(i%3 == 0){
            S2 = S2+(i*i);
        }
    }
    
    printf("%d, %d", S1, S2);
}

  Java

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
	    int S1 = 0;
    	int S2 = 0;
    		
    	Scanner sc = new Scanner(System.in);
    	System.out.print("자연수 입력 : ");
    	int N1 = sc.nextInt();
    	System.out.print("자연수 입력 : ");
    	int N2 = sc.nextInt();
    		
    	for(int i=N1;i<N2; i++) {
    	    S1 = S1+i;
    		if(i%3 == 0){
    		    S2 = S2+(i*i);
    		}
    	}
    	
    	System.out.println(S1);
    	System.out.println(S2);
	}
}

 

'Algorithm > Sequence' 카테고리의 다른 글

자연수의 합  (0) 2019.09.15