Queria fazer um programa k pedi-se ao utilizador um numero e verifica se, se ele é primo....
help help help
QuoteQueria fazer um programa k pedi-se ao utilizador um numero e verifica se, se ele é primo....
tem de ser em c ?
Tipo isto:
int main (int argc, char * const argv[]) {
int i, flag = 1;
int num;
std::cin >> num;
for (i = 2; i <= num - 1; i++) {
if (num % i == 0) {
flag = 0;
break;
}
}
if (flag) std::cout << "Primon";
else std::cout << "Não primon";
return 0;
}
QuoteTipo isto:
int main (int argc, char * const argv[]) {
int i, flag = 1;
int num;
std::cin >> num;
for (i = 2; i <= num - 1; i++) {
if (num % i == 0) {
flag = 0;
break;
}
}
if (flag) std::cout << "Primon";
else std::cout << "Não primon";
return 0;
}
isso e k e linguagem C++???
Boa tarde...
tenho aulas de programação e nao percebo muito disto...
desta vez a prof pediu-nos pra fazer uma calculadora que apresente as 4 operações básicas e k realize varias operaçoes na mesma expressao... tera de calcular percentagens, possuir botao clear, inclua operações de factorial, raiz quadrada e potencia... tudo em visual C++.. se alg tiver algo pareçido... ajudem-me!!
os numeros primos não são previsiveis, por isso terias de incluir uma library com todos os numeros primos até um certo ponto, se o c++ tem isso procura googla
paah...em Visual C++ nao sei fazer nada...mas digo ja que isso dos primos é no minimo basico :|
Quoteos numeros primos não são previsiveis, por isso terias de incluir uma library com todos os numeros primos até um certo ponto, se o c++ tem isso procura googla
Nem pensar... Só precisas de dividir sucessivamente por todos os números desde 2 até àsua raiz quadrada.
int isPrime(int num) {
int sqroot = sqrt(num), i;
if (num > 2 && num % 2 == 0) return 0
for (i = 3; i <= sqroot; i+=2)
if (num % i == 0) return 0;
return 1;
}
nao me levem a mal, principalmente por ser o meu primeiro post aqui.
mas nao acham que seria melhor dar apenas dicas do que fazer os trabalhos de casa dos outros? que tipo de programadores vamos ter se eles vêm á net para lhes fazerem os exercicios?
(sem ofensa para ninguem)
Epah, neste problema a dica é matemática. Por forma a optimizar o algoritmo uma pessoa apenas verifica os números até àraÃÂz quadrada do número, e apenas os números impares, para tornar o processo o mais eficiente possÃÂvel.
Isto pk, se um número não é primo, é composto, ou seja, multiplicando dois ou mais números primos pode obter-se esse número. Qualquer número impar não primo é divisÃÂvel por um primo igual ou inferior àsua raÃÂz quadrada. Logo:
Qualquer número não primo, ÃÂmpar entre 3 e 24 é divisÃÂvel por 3.
Qualquer número não primo, ÃÂmpar entre 25 e 48 é divisÃÂvel por 3 ou 5.
Qualquer número não primo, ÃÂmpar entre 49 e 120 é divisÃÂvel por 3, 5 ou 7.
Se tiverem sempre isto em conta, vejam bem quanto tempo reduzem a processar o algoritmo.
Os números primos são aqueles que só são divisÃÂveis por 1 ou por si mesmo, para a quem lhe estiver a faltar a memória.
E números não primos são números compostos por números primos.
E números não primos são números compostos por números primos:
4 = 2*2
6 = 2*3
8 = 2*2*2
9 = 3*3
10 = 2*5
...
15 = 3*5
21 = 3*7
25 = 5*5
33 = 3*11
...
49 = 7*7
...
121 = 11*11
Antes disso há sempre algum número inferior àsua raÃÂz quadrada que o divÃÂde.