Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Faça um procedimento que receba um valor inteiro qualquer por referência. Esse
- procedimento deve verificar se um valor é perfeito ou não. Um valor é dito perfeito
- quando ele é igual a soma dos seus divisores exceto ele próprio. Por exemplo: 6 é
- perfeito uma vez que 6 = 1 + 2 + 3 (que são seus divisores). A função deve retornar,
- também por referência, 1, caso o número seja perfeito e 0 em caso contrário. Exibir no
- programa principal uma mensagem informativa ao usuário.*/
- #include <stdio.h>
- #include <stdlib.h>
- int ChecarPerfeito(int valor);
- void main(){
- int valor=0;
- printf("Digite um numero e verificarei se eh perfeito: ");
- scanf("%d",&valor);
- if(ChecarPerfeito(valor) == 1) printf("O numero eh perfeito\n");
- else if(ChecarPerfeito(valor) == 0) printf("O numero nao eh perfeito\n");
- else printf("Erro");
- system("Pause");
- }
- int ChecarPerfeito(int valor){
- int soma_divisores = 0;
- for(int i = valor/2; i>0; i--){
- if(valor%i == 0) soma_divisores = soma_divisores + i;
- }
- if(soma_divisores == valor) return 1;
- else return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement