Informática, perguntado por Alunoex32, 5 meses atrás

Escrever um algoritmo EM LINGUAGEM C que lê um número não determinado de valores para m, todos
inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores possui e
escrever esta informação. Se m for ímpar e menor do que 10 calcular e escrever o fatorial
de m. Se m for ímpar e maior ou igual a 10 calcular e escrever a soma dos inteiros de 1
até m.

Soluções para a tarefa

Respondido por joaopedrolemos
0

#include <stdio.h>

int div_num (int x);

int fat (int y);

int sum (int z);

int main() {

   int i, j, k, s, m;

   i = j = k = s = 0;

       do {

           printf("N[%d]: ",i+1); scanf("%d",&m);

               while (m < 0) {

                   printf("N[%d]: ",i+1); scanf("%d",&m);

               }

           i++;

           if (m % 2 == 0) {

               j = div_num(m);

               printf("%d possui %d divisores\n", m, j);

               

           }

           if (m % 2 != 0 && m < 10) {

               k = fat (m);

               printf("Fatorial de %d: %d\n", m, k);

           }

           if (m % 2 != 0 && m >= 10 ) {

               s = sum (m);

               printf("Soma de 1 a %d: %d\n", m, s);

           }

       } while (m != 0);

   

   return 0;

}

int div_num(int x){

   int q, r;

   r = 0;

       for (q=1;q<=x;q++) {if (x % q == 0) r++;}

   return r;

}

int fat (int y){

   int t, u = 1;

   for (t = 1; t <= y; t++) u *= t;

   return u;

}

int sum (int z){

   int l, h = 0;

   for (l = 0; l <= z; l++) h += l;

   return h;

}

Respondido por yancarvalho3
0

O algoritmo escrito na linguagem de programação C que resolve o problema dos pares e ímpares acima é:

#include <stdio.h>

int main() {

 int m, i, contador, fatorial, soma;

 

 while (1) {

   printf("Insira um valor para m: ");

   scanf("%d", &m);

   

   if (m <= 0) {

     break;

   }

   

   if (m % 2 == 0) {

     contador = 0;

     for (i = 1; i <= m; i++) {

       if (m % i == 0) {

         contador++;

       }

     }

     

     printf("m possui %d divisores.\n", contador);

   } else if (m < 10) {

     fatorial = 1;

     for (i = 1; i <= m; i++) {

       fatorial *= i;

     }

     

     printf("O fatorial de m é %d.\n", fatorial);

   } else {

     soma = 0;

     for (i = 1; i <= m; i++) {

       soma += i;

     }

     

     printf("A soma dos inteiros de 1 até m é %d.\n", soma);

   }

 }

 

 return 0;

}

Como esse algoritmo em C resolve o problema dos pares e ímpares acima?

Este algoritmo lê um número não determinado de valores para m, todos inteiros e positivos, um de cada vez. Utiliza-se um loop while para continuar lendo valores enquanto m for maior que zero. Dentro do loop, verifica-se se o valor lido é par ou ímpar.

Se for par, verifica-se quantos divisores possui e escreve essa informação. Se for ímpar e menor do que 10, calcula-se o fatorial de m e escreve esse valor. Se for ímpar e maior ou igual a 10, calcula-se a soma dos inteiros de 1 até m e escreve esse valor.

Saiba mais sobre programação aqui: https://brainly.com.br/tarefa/20790680

#SPJ2

Anexos:
Perguntas interessantes