๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
C ์–ธ์–ด/๋ฌธ์ œํ’€์ด

[C์–ธ์–ด](1+2+...+n)๊ฐ€ 10000์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ n ๊ฐ’ : ์‰ฝ๊ฒŒ ํ’€์–ด์“ด C์–ธ์–ด Express 7์žฅ

by IworldT 2021. 10. 12.
๋ฐ˜์‘ํ˜•

์‰ฝ๊ฒŒ ํ’€์–ด์“ด C์–ธ์–ด Express 7์žฅ 9๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž.

 

 


(1+2+3+...+n)๊ฐ€ 10000์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ๊ทธ ๋•Œ์˜ n์˜ ๊ฐ’์„ ๊ตฌํ•˜๋ผ.

 

 HINT  : ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ sum์— i์˜ ๊ฐ’์„ ๋”ํ•œ๋‹ค. ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค i๋Š” 1์”ฉ ์ฆ๊ฐ€๋œ๋‹ค. sum์ด 10000์„ ๋„˜์œผ๋ฉด sum์—์„œ i๋ฅผ ๋นผ๊ณ  i๋ฅผ ๊ฐ์†Œ์‹œํ‚จ ํ›„์— break๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.


๋ฐ˜์‘ํ˜•

 

 

ํ’€์ด

i๋ฅผ 1๋ถ€ํ„ฐ ๋ฐ˜๋ณต์‹œํ‚ค๋Š”๋ฐ, n์ด ๋ช‡ ๊นŒ์ง€ ๊ฐˆ์ค„ ๋ชจ๋ฅด๋ฏ€๋กœ ๋‹จ์ˆœํžˆ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•œ๋ฐ, ์ด๋Š” for๋ณด๋‹ค while(1)์„ ์ข…์ข… ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  10000์ด ๋„˜์œผ๋ฉด break๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

 

 

์ฝ”๋“œ

#include <stdio.h> 
int main(void) {

	int i = 0, sum = 0;

	while (1) {
		i++;
		sum += i;
		if (sum >= 10000)
			break;
	}
	printf("1๋ถ€ํ„ฐ %d๊นŒ์ง€์˜ ํ•ฉ์ด %d์ž…๋‹ˆ๋‹ค.\n", (i - 1), sum - i);

	return 0;
}

 

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

1๋ถ€ํ„ฐ 140๊นŒ์ง€์˜ ํ•ฉ์ด 9870์œผ๋กœ ์ž˜ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์–ด์ง„ ํžŒํŠธ ๋Œ€๋กœ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ์‰ฌ์šด ๋ฌธ์ œ์ด๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€