Skip to content

Conversation

@froglike6
Copy link
Collaborator

@froglike6 froglike6 commented May 8, 2025

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

High Towers

โœ”๏ธ ์†Œ์š”๋œ ์‹œ๊ฐ„

30๋ถ„

โœจ ์ˆ˜๋„ ์ฝ”๋“œ

์ˆ˜๋„์ฝ”๋“œ

n์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค
๊ฒฐ๊ณผ = (n * (n + 1) * (n + 2)) / 6
๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

์ด ๋ฌธ์ œ๋Š” ๋†’์ด๊ฐ€ $n$์ธ ์ •์‚ผ๊ฐํ˜•์—์„œ, ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ์ •์‚ผ๊ฐํ˜•์„ ๋ช‡ ๊ฐœ๋‚˜ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
๋‹ค์šด๋กœ๋“œ
$n=3$์ผ ๋•Œ, ๊ฐ€์žฅ ํฐ ์‚ผ๊ฐํ˜• 1๊ฐœ์™€ ์ค‘๊ฐ„ ์‚ผ๊ฐํ˜• 3๊ฐœ, ๊ทธ๋ฆฌ๊ณ  ์ž‘์€ ์‚ผ๊ฐํ˜• 6๊ฐœ์ด๋ฏ€๋กœ ์ด 10๊ฐœ์ž…๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋‹ค ๋ณด๋ฉด ์ผ๋ฐ˜ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$$ \text{total} = \sum_{size=1}^{n} \left( (n - size + 1) \times \left( (n - size + 1) - (size - 1) \right) \right) $$

์ด๋ฅผ ์ •๋ฆฌํ•˜๋ฉด $\frac{n(n+1)(n+2)}{6}$์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ, ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“š ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ๋‚ด์šฉ

Copy link
Contributor

@dohyeondol1 dohyeondol1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ—ˆํ—ˆ ์ˆ˜ํ•™๋จธ๋ฆฌ๊ฐ€ ์ข€ ๋”ธ๋ ค์„œ ๊ทธ๋ƒฅ ๊ท€๋‚ฉ์ ์œผ๋กœ ์ถ”๋ก ํ•ด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.
๋ชจ๋ฅด๋Š” ์ˆ˜ํ•™๋ฌธ์ œ๋Š” ์ƒ๋‹นํžˆ ์‹œ๊ฐ„์ด ๋งŽ์ด ์“ฐ์ด๋„ค์š”...

๊ทธ๋ƒฅ ์œ„์ชฝ์„ ๋ฐ”๋ผ๋ณด๋Š” ์ •์‚ผ๊ฐํ˜•์„ ํ•˜๋‚˜ ํ•˜๋‚˜ ์„ธ์–ด๋ณด๋‹ˆ,
์ž‘์€ ์‚ผ๊ฐํ˜•๋ถ€ํ„ฐ ํฐ ์‚ผ๊ฐํ˜•๊นŒ์ง€์˜ ๊ฐœ์ˆ˜๋ฅผ ํ•ฉ์œผ๋กœ ๋‹ค์Œ์ฒ˜๋Ÿผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋”๊ตฐ์š”.
๋†’์ด n์— ๋”ฐ๋ผ์„œ,

$n = 2 : \quad 3+1 = 4$
$n = 3 : \quad 6+3+1 = 10$
$n = 4 : \quad 10+6+3+1 = 20$
$n = 5 : \quad 15+10+6+3+1 = 35$
$n = 6 : \quad 21+15+10+6+3+1 =56$

๋”ํ•ด์ง€๋Š” ๊ฐ ์ˆ˜ $T_k$ ๊ฐ€ $n = k$ ์ผ ๋•Œ

$$ T_k = \frac{k(k+1)}{2} $$

์ด๊ณ , ๊ทธ ์ˆ˜๋“ค์˜ ๋ˆ„์  ํ•ฉ ์ด๋ฏ€๋กœ

$$ \sum_{k=1}^{n} T_k = \sum_{k=1}^{n} \frac{k(k+1)}{2} = \frac{1}{2} \sum_{k=1}^{n} (k^2 + k) = \frac{1}{2} \left( \sum_{k=1}^{n} k^2 + \sum_{k=1}^{n} k \right) $$

์ด๋•Œ ํ•ฉ ๊ณต์‹์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$$ \sum_{k=1}^{n} k = \frac{n(n+1)}{2}, \quad \sum_{k=1}^{n} k^2 = \frac{n(n+1)(2n+1)}{6} $$

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต์‹์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$$ = \frac{1}{2} \cdot \left( \frac{n(n+1)(2n+1 + 3)}{6} \right) = \frac{n(n+1)(2n+4)}{12} = \frac{n(n+1) \cdot 2(n+2)}{12} $$

$$ = \frac{n(n+1)(n+2)}{6} $$

๊ฐ™์€ ๋ชจ์–‘์„ ์œ ์ง€ํ•˜๋ฉด์„œ ํฌ๊ธฐ๋งŒ ์ปค์ง€๋Š”์ง€๋ผ ๊ฐœ์ˆ˜๋Š” ์œ ์ง€๋˜๋Š”์ ์ด
ํ‘ธ๋Š”๋ฐ ๊ฐ€์žฅ ํฐ ํžŒํŠธ๊ฐ€ ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

C++
#include <iostream>
using namespace std;

int main() {
	cin.tie(nullptr)->sync_with_stdio(false);
	
	long long n;
	cin >> n;
	
	long long answer = n*(n+1)*(n+2)/6;
	cout << answer << '\n';
	
	return 0;
}

ํ’€๊ณ  ๋‚˜์„œ ๋ณด๋‹ˆ ์ด๊ฒŒ "์‚ผ๊ฐ์ˆ˜"๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋”๊ตฐ์š”... ์‹ ๊ธฐํ•œ ์ˆ˜ํ•™์˜ ์„ธ๊ณ„..!
์ œ ํ’€์ด๊ฐ€ ์‚ผ๊ฐ์ˆ˜์˜ ๋ˆ„์ ํ•ฉ์œผ๋กœ ํ’€์–ด๋‚ด๋Š” ํ’€์ด์˜€๋„ค์š”..

Copy link
Collaborator

@hadongun hadongun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ €๋Š” ์œ„์—์„œ ํ˜„์„๋‹˜์ด ์–ธ๊ธ‰ํ•˜์‹  T(k)๋งŒ ๊ตฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋†’์ด๊ฐ€ 1 ๋‚ฎ์€ ์ •์‚ผ๊ฐํ˜•์—์„œ ํ•„์š”ํ•œ ์‚ผ๊ฐํ˜•์˜ ๊ฐœ์ˆ˜ + t(k-1)์„ ํ†ตํ•ด ํ˜„์žฌ ํ•„์š”ํ•œ ์‚ผ๊ฐํ˜•์˜ ๊ฐœ์ˆ˜๋ฅผ ์ด์ค‘ for๋ฌธ์œผ๋กœ ๊ตฌํ•˜์˜€๋Š”๋ฐ
์—ญ์‹œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋–ณ์Šต๋‹ˆ๋‹ค..! ์Œ ๋ญ์ง€ ํ•˜๊ณ  ์จ์ฃผ์‹  ์„ค๋ช…๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๋‹ˆ T(k)์˜ ํ•ฉ์ด๋”๊ตฐ์š”!
์กฐ๊ธˆ ๋” ์ƒ๊ฐ์„ ๊นŠ์ด ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ต..

์‹œ๊ฐ„์ดˆ๊ณผ

n = int(input())
d = [0]*(n+1)
d[1] = 1
k = 0
for i in range(2, n+1):
    k = 0
    for j in range(1,i+1):
        k += j
    d[i] = d[i-1] + k
print(d[n])
    
    

Copy link
Collaborator

@caucsejunseo caucsejunseo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
๊ทธ๋ฆผ ๊ทธ๋ ค์„œ ํ’€์–ด๋ณด๋ฉด ๊ฒฐ๊ตญ 1์ด n๋งŒํผ ๋ฐ˜๋ณต๋˜๊ณ  2๋Š” n-1๋งŒํผ, ๊ทธ๋ฆฌ๊ณ  3์€ n-2๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•ด์ง„๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ต์€ ์˜ˆ์‹œ๋กœ ๋˜‘๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ ๋ฐฑ์ค€์— ์ œ์ถœํ•˜๋ฉด ํ‹€๋ ธ๋‹ค๊ณ  ๋œจ๋„ค์š”;; ํ˜น์‹œ ์–ด๋””๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ์•„์‹œ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”! ์ฑ„์ฐํ”ผํ‹ฐํ•œํ…Œ ๋ฐ˜๋ก€๋‹ฌ๋ผ๊ณ  ํ–ˆ๋”๋‹ˆ ์ €๋ ‡๊ฒŒ ๋œจ๋„ค์š”;
image
image

๋ฌด์–ธ๊ฐ€ํ‹€๋ฆฐ์ฝ”๋“œ

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>




int main()
{
    int n = 0;
    scanf("%d", &n);
    long long answer = 0;
    int j = n;

    for (int i = 1; i < n + 1; i++)
    {
        answer += i * j;
        j--;
   }

    printf("%lld", answer);


    return 0;
}
    

@froglike6
Copy link
Collaborator Author

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>




int main()
{
    int n = 0;
    scanf("%d", &n);
    long long answer = 0;
    int j = n;

    for (int i = 1; i < n + 1; i++)
    {
        answer += i * j;
        j--;
   }

    printf("%lld", answer);


    return 0;
}
    

@caucsejunseo
i์™€ j์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ž˜์„œ ๋‘˜ ๋‹ค long long int๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์ •๋‹ต์ด ๋‚˜์˜ค๋„ค์š” ใ…Žใ…Ž

@froglike6 froglike6 merged commit 04c52f8 into main May 12, 2025
1 check passed
@froglike6 froglike6 deleted the 11-froglike6 branch May 13, 2025 02:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants