All pastes #559788 Raw Edit

codaine

public text v1 · immutable
·published 2007-06-11 22:10 UTC
rendered paste body
            /*Calculate answer*/
            int topNumber = Convert.ToInt32(question);
            BitArray numbers = new BitArray(topNumber+1, true);

            for(int i = 2; i <= topNumber; i++)
                if(numbers[i])
                {
                    for(int j = i * 2; j < topNumber; j += i)
                        numbers[j] = false;
                }

            int primes = 0;

            ArrayList primeList = new ArrayList();
            int check = 1;
            for (int i = 2; i <= topNumber; i++)
            {
                
                if (numbers[i])
                {
                    if ((check = (check + 1) % 2) == 0)
                    //Console.Out.WriteLine(i);
                        primeList.Add(i);
                }
            }

            int addedDigits = 0;
            for (int i = 0; i < primeList.Count; i++)
            {
                int n = (int)primeList[i];
                string s = n.ToString();
                addedDigits += s[0] - '0';
                addedDigits += s[s.Length - 1] - '0';
            }

            int factorTotal = 0;
            int tmp = addedDigits;
            for (int i = 2; i <= tmp; i++)
            {
                if (tmp % i == 0)
                {
                    factorTotal += i;
                    tmp = tmp / i;
                    i = 1;
                }
            }

            String ans = topNumber + ":" + addedDigits + ":" + factorTotal;
            Console.Out.WriteLine(ans);
            /*******/