관리 메뉴

πŸ’»πŸ’­πŸŽ§πŸŒ

[C] λ°±μ€€ 1977번 문제 λ³Έλ¬Έ

Cμ–Έμ–΄

[C] λ°±μ€€ 1977번 문제

adorableco 2021. 9. 18. 17:57
λ°˜μ‘ν˜•

κ°€μž₯ μ²˜μŒμ—λŠ” Mκ³Ό N이 10000μ΄ν•˜μ΄λ―€λ‘œ for문으둜 1λΆ€ν„° 100κΉŒμ§€ λŒλ €μ„œ λ²”μœ„μ— ν•΄λ‹Ήν•˜λ©΄ λ”ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν•˜λ €κ³  ν–ˆμœΌλ‚˜ μ—­μ‹œλ‚˜ μ‹œκ°„μ΄ˆκ³Όλ‘œ μ‹€νŒ¨ν–ˆλ‹€!

 

λ‘λ²ˆμ§Έλ‘œ μƒκ°ν•œ 방법은,

μ™„μ „μ œκ³±μˆ˜κ°€ μ•„λ‹Œ 수의 μ œκ³±κ·Όμ€ μ™„μ „ν•œ μ •μˆ˜κ°€ μ•„λ‹ν…Œλ‹ˆ κ·Έκ±Έ λ‹€μ‹œ μ œκ³±ν•˜λ©΄ λ‹€λ₯Έ 값이 λ‚˜μ˜€μ§€ μ•Šμ„κΉŒ..? ν–ˆλŠ”λ° 같은 값이 λ‚˜μ™€μ„œ μ‹€νŒ¨

 

μ„Έλ²ˆμ§Έλ‘œ μƒκ°ν•œ 방법은,

 

μ œκ³±κ·Όμ— 10을 κ³±ν•˜κ³  int λ³€μˆ˜μ— μ €μž₯ν•œ λ’€ λ‹€μ‹œ 10을 λ‚˜λˆˆ λ‚˜λ¨Έμ§€ 값을 ν™•μΈν•΄μ„œ 0 이면 μ™„μ „μ œκ³±μˆ˜λ‘œ νŒλ‹¨ν•˜λŠ” 방법이닀. λ‘λ²ˆμ§Έλ°©λ²•κ³Ό λΉ„μŠ·ν•œ λ…Όλ¦¬λ‘œ μ™„μ „μ œκ³±μˆ˜κ°€ μ•„λ‹Œ 수의 μ œκ³±κ·Όμ€ μ •μˆ˜κ°€ μ•„λ‹Œ μ‹€μˆ˜μΈ 점을 μ΄μš©ν–ˆλ‹€.

ex) 63의 제곱근 = 7.9372539 에 10을 κ³±ν•˜λ©΄ 79.XXX이고 이λ₯Ό int λ³€μˆ˜μ— μ €μž₯ν•˜λ©΄ 79 μ΄λ―€λ‘œ μ—¬κΈ°μ„œ 10을 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λŠ” 0이 μ•„λ‹Œ 9이닀.

64의 제곱근인 8에 10을 κ³±ν•˜λ©΄ 80이고 μ—¬κΈ°μ„œ 10을 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λŠ” 0μ΄λ―€λ‘œ μ™„μ „μ œκ³±μˆ˜λ‘œ νŒλ‹¨μ„ ν•˜λŠ” 것이닀.

 

근데 μ—¬κΈ°μ„œ λ¬Έμ œμ μ€ int λ³€μˆ˜μ— μ €μž₯ν•˜λŠ” κ³Όμ •μ—μ„œ μ†Œμˆ˜μ μ—μ„œ 올림이 λ˜λŠ”κ±΄μ§€ μ™„μ „μ œκ³±μˆ˜κ°€ μ•„λ‹Œ κ²½μš°μ—λ„ λ‚˜λ¨Έμ§€κ°€ 0이 λ‚˜μ˜€λŠ” κ²½μš°κ°€ 생겼닀. 이 μ΄μœ λŠ” λ”°λ‘œ 곡뢀λ₯Ό 해봐야할 것 κ°™λ‹€.

 

λ¬Έμ œμ μ€ 10 λŒ€μ‹  1000을 κ³±ν•˜κ³  1000을 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ”κ±Έλ‘œ λ°”κΎΈλ‹ˆκΉŒ 해결됐닀! 정확도가 더 λ†’μ•„μ Έμ„œ κ·ΈλŸ°λ“―

 

#include <stdio.h>
#include <math.h>

int main()
{
    int a,b,c = 0,sum=0;
    int check;
    scanf("%d",&a);
    scanf("%d",&b);
    
    for (int i = b; i >= a; i--)
    {
        check = (double) sqrt(i) * 1000;
        if(check % 1000 == 0)
        {
            sum += i;
            c = i;
        }
    }
    
    if(sum == 0)
        printf("-1");
    else
        printf("%d\n%d\n",sum,c);
    return 0;
}
λ°˜μ‘ν˜•

'Cμ–Έμ–΄' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[C] λ°±μ€€ 2908번 문제  (0) 2021.09.20
[C] μ‹œκ°„ μž…λ ₯λ°›κΈ°  (0) 2021.09.18
[C] λ°±μ€€ 2576번 문제  (0) 2021.09.16
[C] λ°±μ€€ 2475번 문제  (0) 2021.09.15
[C] λ°±μ€€ 2921번 문제  (0) 2021.09.15