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

   Á¶È¸ 4728   Ãßõ 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 1857/5730
2015-12   1791263   ¹é¸Þ°¡
2014-05   5266345   Á¤ÀºÁØ1
2017-10   5413   ÀÌõdz
2017-10   4746   µª¿Â´©¸®
2017-10   6239   ±è°Ç¿ì
2017-10   4954   ½É¹ÙÆ®
2017-10   9033   ¸®Ä«¶ó¹Ù
2017-10   4482   ÀϷиӽºÅ©
2017-10   4345   ³×ÀÌÃÄ
2017-10   6362   ±è¸»°í
2017-10   4416   ¹ÚÁ¾´ë
2017-10   8298   ¹Ú¼¼Áø
2017-10   3962   ½ÅÀº¿Ö
2017-10   20222   AplPEC
2017-10   5549   ÂîÁö·Î
2017-10   6789   ¿©ÁÖ³ó¹Î76
2017-10   5124   È£¹Ú°í±¸¸¶
2017-10   4444   ±è°Ç¿ì
2017-10   4550   ±è°Ç¿ì
2017-10   5528   À嵿°Ç2014
2017-10   7756   Àü¼³¼ÓÀǹ̡¦
2017-10   12417   ¹Ú¸í±ÙTN