Fórum WebTuga

Tecnologia => Programação => Topic started by: Kacetada on January 26, 2007, 06:45:41 PM

Title: c++
Post by: Kacetada on January 26, 2007, 06:45:41 PM
Queria fazer um programa k pedi-se ao utilizador um numero e verifica se, se ele é primo....
Title: c++
Post by: Kacetada on January 26, 2007, 07:02:28 PM
help help help
Title: c++
Post by: whitehat on January 31, 2007, 08:02:24 PM
QuoteQueria fazer um programa k pedi-se ao utilizador um numero e verifica se, se ele é primo....

tem de ser em c ?
Title: c++
Post by: KTachyon on January 31, 2007, 11:04:44 PM
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;

}
Title: c++
Post by: trmanco on February 01, 2007, 10:27:48 PM
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++???
Title: c++
Post by: djo on March 16, 2007, 03:22:04 PM
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!!
Title: c++
Post by: crazii on April 13, 2007, 01:53:21 PM
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
Title: c++
Post by: Anatra on April 13, 2007, 02:58:36 PM
paah...em Visual C++ nao sei fazer nada...mas digo ja que isso dos primos é no minimo basico  :|
Title: c++
Post by: KTachyon on April 13, 2007, 03:09:23 PM
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;

}
Title: c++
Post by: binarius on April 24, 2007, 11:42:20 AM
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)
Title: c++
Post by: KTachyon on April 24, 2007, 01:07:05 PM
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.
Title: c++
Post by: lycosman on April 24, 2007, 01:45:46 PM
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.
Title: c++
Post by: KTachyon on April 25, 2007, 02:49:39 AM
E números não primos são números compostos por números primos.
Title: c++
Post by: KTachyon on April 25, 2007, 02:52:10 AM
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.