11 de outubro de 2010

Algorítmo e Programação - Lista 2

Escreva um programa que computa o número de diferentes fatores primos de um inteiro positivo.

Entrada

A entrada consistirá de uma série de inteiros positivos. Cada linha possui somente um número.
O valor máximo de um número é 1000000. O fim da entrada é indicado por um número igual a 0.
Esse número não deve ser considerado como parte do conjunto de teste.

Saída

O programa deve imprimir cada resultado em uma linha diferente, seguindo o formado dado
no exemplo de saída.

Exemplo:

Entrada: Saída
289384 289384 : 3
930887 930887 : 2
692778 692778 : 5
636916 636916 : 4
747794 747794 : 3
238336 238336 : 3
885387 885387 : 2
760493 760493 : 2
516650 516650 : 3
641422 641422 : 3

Resposta:
#include <stdio.h>

int main(){
int number, n = 2, c, b=0, numv, cont = 0;

do{
scanf("%d",&number);
numv = number;

if (numv<= 1000000 && numv>0){
while (number > 1){
for (c=2; c<n; c++){
if (n%c==0){ b=1;

break; }  
else{ b=0; } }  
if (b==0){
if (number%n==0){ number = number/n; cont++; }
while (number%n==0){ number = number/n; } } n++; }  
printf("%d : %d\n",numv,cont); cont = 0; n = 2; } }
while (numv != 0);  
return 0; }

0 comentários:

Postar um comentário

 
Design by @cleidimarviana | Bloggerized by Cleidimar Viana - Diário de Sistema