본문 바로가기

개발자/C

C언어 제곱수 출력

반응형

문제 두 수 m,n을 입력 받아서 주어진 범위 내의 제곱수를 모두 출력하여라.

( 11,000 mn10,000)

제곱수를 한 줄에 모두 출력하되, 제곱수가 없는 경우는 0을 출력한다.


요구분석

1.정수형태의 두 수를 입력받는다.

2.입력받은 값의 사이의 제곱수를 모두 출력한다.

3.입력받은 값의 사이에 제곱수가 없을 경우 0을 출력한다.

 

해결방법

1.변수i1부터 n까지 반복문을통해 계속 증가시키고, 증가시킨값이 범위에 있을 경우 출력하는 방법

 

배경지식

제곱수 정의 1*1, 2*2, 3*3, 4*4, 5*5, ...... n*n

 

알고리즘

1.범위 값을 입력받아 m, n에 저장한다.

2.i1부터 입력받은 n의 값까지 반복문을 통해 문장을 수행

3.i의 제곱값이 m값보다 크고, n값보다 작을 경우 i*i값을 출력

4.count값을 증가시킴

5.i*i값이 n보다 클 경우 for문을 나오게됨

6.count값이 증가되지 않고 그대로 0일 경우 0을 출력

 

소스코드

#include <stdio.h>


void main()

{

int m,n,i,count=0;

printf("범위를 입력하시오 : ");

scanf("%d %d",&m,&n);

printf("입력 : %d  %d\n",m,n);

printf("출력 : ");

for(i=1;i<m;i++){

if(i*i>m && i*i<n){

printf("%d  ",i*i);

count++;

}

else if(i*i>n)

break;

}

if(count==0)

printf("0");

}

실행결과





향후과제

1.예외처리를 해야함

2.만약 입력받은 값이 10,000,000과 같이 큰 자리수부터 시작하게 될 경우 i1부터 제곱을 하기 때문에 메모리 낭비가 있음

 

반응형

'개발자 > C' 카테고리의 다른 글

C언어 소수놀이, 소수구하기  (0) 2015.09.29
C언어 나무심기  (1) 2015.09.29
C언어 공약수, 최대공약수 출력  (0) 2015.09.29
C언어 삼각형의 종류 판별  (0) 2015.09.29
C언어 합계구하기  (0) 2015.09.29