ÀÚ¹Ù ÀüÀ§ÈÄÀ§ ¿¬»êÀÚ Áú¹®µå·Á¿ä.

   Á¶È¸ 4227   Ãßõ 0    

 

 
public class Divisor
{

    public static void main(String[] args)
    {
        int n = 10;
        int count = 0;
       
        for(int i = 1; i*i <= n; i++)
        {
            if(10%i == 0)
            {
                count++;
                if(i*i <n)
                {
                    count++;
                }
            }
               
        }
       
        System.out.println(count);
       

    }

}
연휴를 자바 프로그래밍 공부로 보내고 있는 유저입니다.

약수를 구하는 소스 코드인데, 아무리 생각해도 count가 3에서 끝나는데 어떻게 결과값이 4가 나오지?

나중에서 for문에 카운트를 3으로하고 디버깅을 해보니 i값이 3이고 count값이 4가 나오더군요.

질문1) i의 값이 3이였을 때, i의 곱의 값이 10보다 작기 때문에 count값이 3에서 4로 증가한것이 맞는표현인가요?

전위후위 연산자 엄청 햇갈리네요..

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¹«¾Æ 2017-09
¾Æ¹« ÀÌ»óÀÌ ¾ø´Âµ¥¿ä?
4°¡ ¸Â´Â °Å ¾Æ´Ñ°¡¿ä?

Áú¹®1) => ³× ¸Â½À´Ï´Ù.
¹«¾Æ 2017-09
¾Ë°í¸®ÁòÀ» ¼³¸íÇϸé.
 Á¤¼ö(n)¸¦ Á¬¼ö(i)·Î ³ª´©¾î ¶³¾îÁö¸é  ±× ¸òÀ¸·Îµµ ³ª´©¾î ¶³¾îÁú Å×´Ï ¾à¼öÀÇ °¹¼ö´Â 2°³¾¿ Áõ°¡Çϴµ¥ Á¬¼ö(i)¿Í ¸òÀÌ °°Àº °æ¿ì´Â 2°³·Î ¼¼Áö¸»°í 1°³·Î ÇÏÀÚ.
À±ÇÊ¿µ 2017-09
¼Ò½ºÄڵ带 ºÁ¼­´Â ÀüÀ§/ÈÄÀ§¿¬»êÀÚ¿Í ¿øÇÏ´Â °ªÀÇ Ãâ·Â ¿©ºÎ´Â °ü°è°¡ ¾ø¾î º¸ÀÔ´Ï´Ù.

ÀüÀ§/ÈÄÀ§ ¿¬»êÀÚ°¡ °á°úÀÇ Â÷À̸¦ ¸¸µå·Á¸é ¾Æ·¡¿Í °°ÀÌ ÀüÀ§/ÈÄÀ§ ¿¬»êÀÇ ´ë»óÀÌ µÇ´Â º¯¼ö°¡ ÇØ´ç ¶óÀο¡¼­ Ÿ ¿¬»ê¿¡ ÂüÁ¶°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.
  v[0][i++] = left[0][l] <= right[0][r] ? left[0][l++] : right[0][r++];
(i++, l++, r++°¡ ++i, ++l, ++r·Î ġȯµÇ¸é... ¾Öµé ¸»·Î Çï°ÔÀÌÆ® ¿ÀÇÂÀÌ µÇ°ÚÁö¿ä?)
ÀÌÁ¾±Ù 2017-09
ÁÁÀº ÀÇ°ß °¨»çÇÕ´Ï´Ù.


QnA
Á¦¸ñPage 1810/5684
2015-12   1493860   ¹é¸Þ°¡
2014-05   4957403   Á¤ÀºÁØ1
2017-09   5331   Win31
2017-09   3838   ºí·ç¿µ»ó
2017-09   4228   inquisitive
2017-09   4933   NAS°íÀå³µ´Ù¡¦
2017-09   3449   ÀÌÇö¼®1
2017-09   5304   ±èȲÁß
2017-09   3556   ÇãÀα¸¸¶Æ¾
2017-09   11824   ½Ã°ñÁý³ë¾È
2017-09   3789   º¸½½ºñ³»¸®¡¦
2017-09   5353   ¹Ý¼º¸¸
2017-09   5760   ¹öÁö´Ï¾Æ
2017-09   4302   ¹«¾Æ
2017-09   5985   ĵÀ§µå
2017-09   4326   Æ丣¼¼¿ì½º
2017-09   3832   ¿À¼Ò¸®
2017-09   3777   noqwerty
2017-09   3889   AKMU
2017-09   3285   ÇØÅ»
2017-09   4731   zaro
2017-09   5390   µÎcpu