-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
10-seongwon030 #43
10-seongwon030 #43
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ λ μμ§ νμ΄λ³΄μ§ μμμ§λ§ kκ°μ΄ μ£Όμ΄μ‘μ λ μ΅μ j = 2κ°λΆν° ~ n/2 κΉμ§ μκ°ν΄λ΄€μ΅λλ€.
ex) 6μ κ²½μ° 1 + 2 + 3κ³Ό κ°μ΄ κ°μκ° 6/2κ°μ΄κΈ° λλ¬Έμ΄λ€.
μ΄λ κ² jλ¬Έμ λλ €μ k/jμ κ°μ κΈ°μ μΌλ‘ jκ°λ§νΌ μ’ μ° νμνμ¬ κ°μ λν΄μ£Όλ©΄ μ°μν©μ΄ λμ§ μμκΉ μκ°νμ΅λλ€. ν΄λΉ 곡μμ μ΄λ»κ² μ°Ύμλμ§ μ μ μμκΉμ?
j = 2 # μ μ΄λ 2κ° μ΄μμ μ°μλ μμ°μμ ν© | ||
while True: | ||
center_first = math.floor(k / j) # center κ°μ μ΄κΈ°ν | ||
div = j // 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ν΄λΉ λΆλΆ divμ λν΄μ μ’ λ μμΈν μ€λͺ
μ΄ κ°λ₯ν κΉμ?
jλ kμ λν μ°μν©μ μν κ°μλ₯Ό μ μ©νμλ μ j//2κ° μ μ©μ΄ λλμ§ κΆκΈνλ€μ!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ν΄λΉ λΆλΆ divμ λν΄μ μ’ λ μμΈν μ€λͺ μ΄ κ°λ₯ν κΉμ? jλ kμ λν μ°μν©μ μν κ°μλ₯Ό μ μ©νμλ μ j//2κ° μ μ©μ΄ λλμ§ κΆκΈνλ€μ!
center_first λ μ€μκ°μ΄κ³ jλ μ°μν©μ ν¬ν¨λλ μ μμ κ°μλΌκ³ νλ€λ©΄, div=j//2
λ μ€μκ°μ κΈ°μ€μΌλ‘ μμ μ΅μ j//2 κ° μ΄μ
μ μ μκ° μμ΄μΌ μ°μν©μ΄ μ‘΄μ¬νκ² λ©λλ€ !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
λ¬Έμ κ° μ¬λ―Έμμ΄λ³΄μ¬μ μ λ νλ² νμ΄λ΄€μ΅λλ€. μ κ·Όμ μμ‘μ΄λμ΄λ μ‘°κΈ λ€λ₯΄κ² νμ΄μ.
μ°μ λ¬Έμ λ ν¬κ² 2κ°λ‘ λΆν κ°λ₯ν©λλ€.
- nκ°μ μμ°μμ ν©μΌλ‘ λνλΌ λ nμ νμ λ²μλ μ΄λκΉμ§μΈκ°
- nκ°μ μμ°μμ ν©μΌλ‘ λνλΌ μ μλκ°
νμ λ²μ
μ°μ nκ°μ μμ°μλ₯Ό λν λ κ°μ₯ μμ κ²½μ°μ μλ 1λΆν° nκΉμ§ λ±μ°¨μμ΄μ ν©κ³΅μμ ν΅ν΄ νμΈν μ μμ΅λλ€.
n * (n + 1) / 2
μ¦ ν΄λΉ nμ κ°μ λ°λ₯Έ λ²μλ₯Ό ꡬν μ μμ΅λλ€.
- 1 : 1
- 2 : 2~3
- 3 : 4~6
- 4 : 7~10
- ...
νμ§λ§ μ°λ¦¬λ μμ°μ xλ₯Ό ννν μ μλ μμ°μμ μ°μν© μ€ κ°μ₯ nμ ν¬κΈ°λ₯Ό ꡬν΄μΌνκΈ° λλ¬Έμ μμΌλ‘ xκ° μ£Όμ΄μ‘μ λ nμ μ΅λκ°μ ꡬν΄μΌν©λλ€. λ°λΌμ μλμ κ°μ΄ ꡬννμ΅λλ€.
int n = (int) sqrt((t * 2) - (int) sqrt(t * 2));
μ΄ μ ꡬνλλ° μλΉν κ³ μ νμ΅λλ€...
μμ°μμ ν© κ°λ₯ μ¬λΆ
nκ°μ μ°μλ μμ°μλ₯Ό λν κ° tλ λ±μ°¨μμ΄μ ν©κ³΅μμ λ°λΌ λ€μκ³Ό κ°μ΄ νκΈ°λ©λλ€.
t = n * (n + 1) / 2
μ¬κΈ°μ μ λ³μ nμΌλ‘ λͺ¨λλ¬ μ°μ°μ ν΄λ³΄λ©΄ λκ°μ νμΌλ‘ λλ©λλ€.
t % n = {n * (n + 1) / 2} % n = ((n^2 / 2) % n) + {(n / 2) % n}
μ΄ μμ ν΅ν΄ μ§μμ νμμΈ κ²½μ°μ λ°λΌ μ°λ³μ κ°μ΄ λ¬λΌμ§λλ€.
-
nμ΄ μ§μμΈ κ²½μ°
t % n == n / 2
(n^2 / 2) % n μ nμ΄ μ§μμΈ κ²½μ° {n * (n / 2)} % n μ΄κΈ° λλ¬Έμ 0μ΄ λλ€
{(n / 2) % n} λ n / 2κ° nλ³΄λ€ μκΈ° λλ¬Έμ n / 2κ° λμ΄ κ²°κ΅ μ°λ³μ n / 2 + 0 = n / 2κ° λλ€. -
nμ΄ νμμΈ κ²½μ°
t % n == 0
(n^2 / 2) % n μ κ²½μ° μ§μμ λκ°μ΄ {n * (n / 2)} % n μ΄μ§λ§ n / 2κ° μ μλ‘ λλμ΄λ¨μ΄μ§μ§ μκΈ° λλ¬Έμ n / 2 λ§νΌμ΄ λ¨κ²λλ€.
{(n / 2) % n} λ μ§μμ κ°μ΄ n / 2κ° λ¨λλ€.
κ²°κ³Όμ μΌλ‘ μ°λ³μ(n / 2 + n / 2) % n = n % n = 0
μ΄ λλ€.
μμ€μ½λ
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int n; cin >> n;
while (n--) {
int t; cin >> t;
int p = (int) sqrt((t * 2) - (int) sqrt(t * 2)), ans = 0;
for (int i = 2; i <= p; i += 2) if (t % i == i / 2) ans++;
for (int i = 3; i <= p; i += 2) if (!(t % i)) ans++;
printf("%d\n", ans);
}
}
μμ μν λ¬Έμ κ° μ¬λ°λ€μ
μ°μν©μ΄λΌ λ±μ°¨μμ΄μ ν©μ μΈ μ μμλ€μ. κ·Έκ±Έ μ΄μ©ν΄μ 곡μμ ꡬνλ€λ .. ν μ λ°°μκ°λλ€. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ꡬκ°μ μ€μκ°(center)μ ꡬκ°μ ν¬κΈ°(j)
λ₯Ό νμ©νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©μμ΄ μΈμκΉμμ΄λλ€.λν center < div:
μΌκ²½μ° break
ν΄μ€μΌλ‘μ¨ νμλ²μλ₯Ό μμ‘μμ£Όμ΄ λΆνμν μ°μ°μ μ€μΌ μ μμλκ±° κ°λ€μ.. κΉλν μ½λ μλ³΄κ³ κ°λλ€!
π λ¬Έμ λ§ν¬
μ°μ ν©
λ¬Έμ
λλΆλΆμ μμ μ μλ μ μ΄λ 2κ° μ΄μμ μ°μλ μμ°μμ ν©μΌλ‘ λνλΌ μ μλ€.
μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°λ€.
6 = 1 + 2 + 3
9 = 5 + 4 = 4 + 3 + 2
νμ§λ§, 8μ μ°μλ μμ°μ ν©μΌλ‘ λνλΌ μκ° μλ€.
μμ°μ Nμ΄ μ£Όμ΄μ‘μ λ, μ΄ μλ₯Ό μ μ΄λ 2κ° μ΄μμ μ°μλ μμ°μμ ν©μΌλ‘ λνλΌ μ μλ κ²½μ°μ μλ₯Ό μΆλ ₯νμμ€.
βοΈ μμλ μκ°
1μκ° 30λΆ
β¨ μλ μ½λ
μ°μν©μ΄λκΉ μ΄λκΉμ§ νμμ ν΄μΌν κΉ κ³ λ―Όμ ν΄λ΄€λ€.
μ κ³±κ·Ό
λΆν° μκ°ν΄λ΄€λλ° n=1800 μΌ λ μ κ³±κ·Όμ΄ 42..xxμλ€. κ·Όλ° 1800μ 45λ‘ λλ λͺ«μ΄ 40μ΄κ³ , κ·Έλ λ€λ©΄ 40μ κΈ°μ€ μμμΌλ‘ 22κ°μ© μ°μν©μ κ³μ°ν΄λ μ°μν©μ ν¬ν¨λλ κ°μ΄ ν±μμ΄ λ§μ΄ λ¨λλ€.ν΄κ²°
λλλ μλ₯Ό j , λλ λͺ«μ center λΌκ³ νλ©΄
jλ μ°μν© κ΅¬κ°μ μ μμ κ°μ
λ₯Ό μλ―Ένλ€.centerλ κ·Έ ꡬκ°μ μ€μκ°
μ μλ―Ένλ€. centerκ°μ μμμ μ리λ₯Ό μμ λ²λ¦¬κ³ μ μλ‘ μ€μ ν΄μ€¬λ€.cntλ κ²½μ°μ μ
λ€. (j//2 λ μ€μκ°μ κΈ°μ€μΌλ‘ μμμΌλ‘ λν μ μμ κ°μκ° λλ€.)μ μΌ μ€μν κ²μ
μ΄λκΉμ§ νμν΄μΌ λλκ°
μΈλ° center κΈ°μ€μΌλ‘μμΌλ‘ j//2 λ²μ§ΈκΉμ§ νμμ΄ κ°λ₯ν΄μΌ νλ
centerκ° j//2λ³΄λ€ μκΈ° μ κΉμ§ λ°λ³΅νλ©΄ λλ€!π μλ‘κ² μκ²λ λ΄μ©
μ΄λκΉμ§ νμν΄μΌ νλμ§ μ§μ€νλ μκ°λ³΄λ€ 빨리 ν리λ κ² κ°λ€.