Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Yoko

matriz com primos

Recommended Posts

To precisando de outra ajuda,como passo para o papel que um numero é primo...falando é facil,mas escrevendo....tentei assim...faz loop mas num mostra o q eu realmente qro.

 

 

Construa uma matriz 4x4.Leia seus elementos com a condiçao de q a diagonal principal só aceite numeros primos.Ao final apresente a matriz.

 

 

algoritmo "primos na matriz"

// Função :

// Autor : Yoko

// Data : 18/11/2007

// Seção de Declarações

var

A:vetor[1..4,1..4]de inteiro

i,j,n,v:inteiro

 

inicio

// Seção de Comandos

escreva ("Digite os valores do vetor A:")

para i de 1 ate 4 passo 1 faca

para j de 1 ate 4 passo 1 faca

leia (A[i,j])

se (i=j) entao

para v de n-1 ate 4 passo -1 faca

se (n mod i = 0)entao

A[i,j]:=n

fimse

fimpara

fimse

fimpara

fimpara

para i de 1 ate 4 passo 1 faca

escreval(" ")

para j de 1 ate 4 passo 1 faca

escreva(A[i,j])

fimpara

fimpara

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, para um número ser primo, ele precisa ser divísivel somente por 1 e por ele mesmo.

 

Lembre-se que por definição 0 e 1 não são números primos (Wikipedia)

 

Faça o seguinte: para todo número maior que 1, vá fazendo divisões sucessivas até encontrar um divisor (você saberá que ele não é primo) ou até que o último número utilizado na divisão seja sua metade (ele não será primo)

 

Por exemplo:

 

9:

9 % 2 = 1

9 % 3 = 0 (aqui eu achei que não é primo)

 

11:

11 % 2 = 1

11 % 3 = 2

11 % 4 = 3

11 % 5 = 1

11 % 6 = 5 (chegou nesse ponto, sei que é primo pq seis já maior que 11 / 2)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

O amigo acima te deu a dica de como verificar se um número é primo. No fórum há vários exercícios resolvidos sobre esse assunto, se puder verifique-os.

 

Vamos ao que interessa:

 

leia (valor)

se (i=j) entao // diagonal principal

   teste <- 0
   enquanto teste = 0 faca
	  // teste se o numero eh primo
	  se valor eh primo entao // aqui voce monta a exepressao logica que diz se o numero eh primo
		 teste <- 1
	  fimse
   fimenquanto
   matriz[i][j] <- valor
senao

	matriz[i][j] <- valor
fimse

 

 

Acho que é isso que voce precisa, se continuar com dúvidas volte a postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ei tentei assim mas a dp não saiu os primos...e agora como eu faço!roda mas num sai os primos...taí do jeito q eu fiz....

 

algoritmo "primos"

// Função :

// Autor : yoko

// Data : 23/11/2007

// Seção de Declarações

var

A:vetor[1..4,1..4]de inteiro

i,j,n,x,teste: inteiro

primo: logico

inicio

// Seção de Comandos

escreval ("Digite os valores do vetor A:")

para i de 1 ate 4 passo 1 faca

para j de 1 ate 4 passo 1 faca

leia (A[i,j])

fimpara

fimpara

para i de 1 ate 4 passo 1 faca

para j de 1 ate 4 passo 1 faca

se (i=j) entao

teste :=0

enquanto (teste = 0) faca

x := 1

para n de 1 ate n-1 passo 1 faca

primo := verdadeiro

para i de 2 ate (n-1) faca

se (n mod i = 0) entao

primo := falso

interrompa

teste := 1

fimse

fimpara

se (primo = verdadeiro) entao

A[i,j] := n

fimse

fimpara

teste:=teste+1

fimenquanto

fimse

fimpara

fimpara

para i de 1 ate 4 passo 1 faca

escreval(" ")

para j de 1 ate 4 passo 1 faca

escreva(A[i,j])

fimpara

fimpara

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.