Media aritmetica

ae galera to precisando de uma ajudinha, sera que alguem pode me dar uma ajuda,
os exercicios q tenho q fazer eh o seguinte:

  • Insira na classe Matemática um método que informe se um determinado número é primo. O número é primo quando é divisível de forma exata apenas por ele e por 1. Em seguida, faça um programa principal que informe todos os números primos entre 2 e 200 e a quantidade de números primos encontrados.

-Um professor tem a necessidade de informar o código e a nota final de todos os seus alunos. Baseado nisto, informe a maior e menor nota da turma e a média aritmética das notas, sabendo-se que para encerrar a entrada de dados no código do aluno o professor informa um valor igual a 0(zero).

valeu galera
fico agradecido

QUal a sua DÚVIDA ?

E ai cara tudo bem…

Vamos lah seus problemas sãoo simples… Ng vai resolver eles por você mas vá fazendo aí e poste suas dúvidas que o pessoal te ajuda…

Números primos eh facinho… 1,3,5,7,11,13,17 …e assim vai…
Quanto ao segundo problema, você pode criar uma classe Aluno, ir adicionando os codigos e notas, e jogando os alunos num Array…

Tente fazer. É bastante simples…

Bem, se vc quer um programa que calcule os números primos, assim na lata, prontinho, então pode ser da maneira como nós achamos melhor né?!

qualquer coisa, se quizer ver o código original (não fui eu que fiz):
http://www-fs.informatik.uni-tuebingen.de/~reinhard/krypto/Pratt/Prime.java

Agora se vira para entender e explicar para seu professor, vc queria um programa que mostrasse os primos, ta ai ele… se vc quer uma coisa mais simples, faz ai e posta as duvidas que vc tem para fazer

O segundo problema, hmmm vou procurar uma solução no estilo da dos números primos, se achar eu posto ai.

import java.util.ArrayList;
import java.util.List;

class Prime {
	private int p;

	private boolean isPrime = false;

	private List<Integer> rList = new ArrayList<Integer>();

	private List<Integer> qList = new ArrayList<Integer>();

	private int rZeuge;

	public Prime(int number) {
		p = number;
		LucasFindR();
		PFZ();
		LucasTestFast();
		return;
	}

	public static void main(String[] args) {
		List<Integer> primos = new ArrayList<Integer>();
		for (int i = 2; i <= 200; i++) {
			if (new Prime(i).isPrime()) {
				primos.add(i);
			}
		}

		for (Integer primo : primos) {
			System.out.println(primo);
		}
	}

	public boolean isPrime() {
		return isPrime;
	}

	public int getRZeuge() {
		return rZeuge;
	}

	public List getQList() {
		return qList;
	}

	public List getRList() {
		return rList;
	}

	public List LucasComplete() {
		List<List<String>> result = new ArrayList<List<String>>();

		int i, j, q, r;

		q = 0;

		for (i = 0; i < rList.size(); i++) {
			result.add(new ArrayList<String>());
			r = rList.get(i);
			for (j = 0; j < qList.size(); j++) {
				q = qList.get(j);
				if (Formel(r, (p - 1) / q, p) == 1) {
					result.get(result.size() - 1).add("-");
				} else {
					result.get(result.size() - 1).add("+");
				}
			}
		}
		return result;
	}

	public List LucasFindR() {
		int r;

		for (r = 2; r < p; r++) {
			if (Bedingung1(r)) {
				rList.add(r);
			}
		}
		return rList;
	}

	public List PFZ() {
		qList = PFZ(p - 1);
		return qList;
	}

	private void LucasTestFast() {
		int r;

		for (r = 2; r < p; r++) {
			if (Bedingung1(r)) {
				if (Bedingung2(r)) {
					rZeuge = r;
					isPrime = true;
					return;
				}
			} else {
				return;
			}
		}
		return;
	}

	private boolean Bedingung1(int r) {
		if (Formel(r, p - 1, p) == 1)
			return true;
		else
			return false;
	}

	private boolean Bedingung2(int r) {
		int i, q = 0;

		for (i = 0; i < qList.size(); i++) {
			if (q != qList.get(i)) {
				q = qList.get(i);
				if (Formel(r, (p - 1) / q, p) == 1)
					return false;
			}
		}
		return true;
	}

	private List<Integer> PFZ(int x) {
		int q;
		List<Integer> PFTemp = new ArrayList<Integer>(10);

		for (q = 2; q < x; q++) {// test all possible factors
			if (x % q == 0) {// q is prime factor of x
				PFTemp.add(q);
				// eliminate this factor
				x /= q;
				q--;
			}
		}
		PFTemp.add(x);
		return PFTemp;
	}

	int Formel(int a, int b, int c) {
		int k, bitmask, d, i;
		k = 30;
		bitmask = 0x40000000;
		d = 1;
		for (i = k; i >= 0; i--) {
			d = (d * d) % c;
			if ((b & bitmask) > 0) {
				d = (d * a) % c;
			}
			bitmask /= 2;
		}
		return (d);
	}
}