2011-01-08 2 views
0

Проблема заключается в том:Нужно ли лучше объяснять проблему математического программирования?

Для простого числа р множество ко-простых чисел меньше или равно ему дается {1,2,3,4, ... р-1}.

Определим f (x, p) 0 < x < p = 1 тогда и только тогда, когда все числа от 1 до p-1 могут быть записаны как сила x в арифметике по модулю.

Пусть n является самым большим 12-значным простым числом. Найти произведение всех целых чисел j, меньших n, таких, что f (j, n) = 1, по модулю-n арифметике

Может ли кто-нибудь дать мне лучшее объяснение?

+0

Я не совсем уверен, что вы просите. Кроме того, как это связано с программированием? –

+0

Не заставляйте меня прокручивать по горизонтали – Oswald

+0

Дэвид: Это проблема в соревновании по программированию. – SuprDewd

ответ

2

Я предполагаю, что у вас возникли проблемы с пониманием того, что вопрос просит вас сделать.

Во-первых, необходимо определить функцию f. Он должен возвращать 1 "тогда и только тогда, когда все числа от 1 до p-1 могут быть записаны как сила x в арифметике по модулю-p". То есть, в псевдокоде:

for i from 1 to p-1 
    if (for some n, (x^n)%p != i%p) return 0 
end for 
return 1 

Если какой-либо из этих чисел i не могут быть записаны в виде x^n для некоторого n, то мы не возвращаем 1. Если все они работают, то мы возвращаем 1.

Последнее, мы ищем продукт всех этих j s. Так, опять же, в псевдокоде:

let p = 1 
for j from 1 to n 
    if (f(j,n)==1) p = p*j 
end for 
return p%n 

Мы только размножаются в j если f(j,n) является 1, как просили. Имеет ли это смысл? Есть ли определенная часть вопроса, который вы не понимаете?

+0

Это именно то, что мне нужно! – SuprDewd

1

действительно плохо psuedocode для целей определения - это не правильный код, чтобы сделать это

function answerToQuestion() 
    answer = 1 
    n = getLargest12DigitPrime() 
    for j = 1 to n-1 
     if (f(j,n) == 1) 
     answer *= j 

    return answer 
end function 

function f(j, n) 
    for x=1 to n-1 
    if not canBeWrittenAsPowerOfJModuloN(x, j, n) 
     return 0 
    return 1 
end function 
Смежные вопросы