Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: exp   (16.12.2008 в 12:08)
Это был похоже неправильный вариант

конечный вариант вроде такой ,) если простые числа были 3 5 7 11 45
while (i < count) {
if ((A[i] &~ A[i]-1) == 0) A[i] = max;
i++; 
}


// upd:
только-что понял, что 45 не простое число т.к. делится на 5 :)


// ++upd:

разобрался каким боком здесь числа мерсена :)
int i=0,m=1,u=1; //

for (i=1; i< 112; i++) {
    char* just ="just";
  for (u=1, m=2; m<i; m=(u<<1)+1, u = m) {
 
  if ((i % m) == 0) {
      just ="NO";
    break;
   }
  }
  printf(" %i %s\n", i, just);
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: