fernandobrito
-
Posts
11 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por fernandobrito
-
-
Dado um número n inteiro e positivo, dizemos que n é perfeito se n for igual à soma de seus divisores
positivos diferentes de n. Construa um programa que leia um número inteiro n, apresenta a soma dos
divisores de n e verifica se o número informado é perfeito ou não.
Escreva uma função somaDivisores que receba como parâmetro um número inteiro e retorne a soma
dos divisores desse número excluindo o próprio número como divisor de si mesmo. Seu programa deve
chamar a função somaDivisores para resolver o problema.
Entrada
O programa deve ler um número inteiro n.
Saída
O programa deve apresentar uma linha contendo o texto: "n = d1 + d2 + d3 + ... + dk = x (MENSAGEM)",
onde n é o número lido, di são os divisores de n em ordem crescente, x é a soma dos divisores e
MENSAGEM é a mensagem "NUMERO PERFEITO"ou "NUMERO NAO E PERFEITO".
Observações
Suponha que o usuário sempre fornecerá um número maior que 1.
Exemplo
Entrada
6
Saída
6 = 1 + 2 + 3 = 6 (NUMERO PERFEITO)
Entrada
12
Saída
12 = 1 + 2 + 3 + 4 + 6 = 16 (NUMERO NAO E PERFEITO)Codigo por enquanto:
#include<stdio.h> int somadivisores (int numero) { } main () { int numero; scanf("%d",&numero); int i; int divisor=1; int resto; int somad; for (i=0;i<numero;i++) { resto = numero%divisor; somad = somad+divisor; if ( resto == 0 ){ if (somad == numero) { } } divisor++; } }
Ainda não comecei a fazer a função porque parei na lógica (essa saída dos divisores, como vou colocar?), queria ajuda pra finalizar minha lógica.
Obs: Faço introdução a programação em C, ou seja, não vou entender comandos avançados.
-
Ah entendi, valeu!
- 1
-
Ah entendi, praticamente só colocar a lógica dentro da função. Porque voce usou o return Acograu?
Alias, sem o acograu que voce declarou também daria certo?
-
Ex: Um certo aço é classificado de acordo com o resultado de três testes abaixo, que devem determinar se o
mesmo satisfaz às especificações:
1. Conteúdo de Carbono abaixo de 7.
2. Dureza Rockwell maior do que 50.
3. Resistência à tração maior do que 80.000 psi.
Ao aço é atribuído o grau “10” se passar por todos os testes; grau “9” se passar somente nos testes 1 e
2; grau “8” se passar no teste 1 apenas; grau “7” caso o aço não se enquadre nos graus, “10”, “9”, e “8”.
Escreva uma função que receba como parâmetros o valor de conteúdo de carbono, o valor da dureza e o
valor de resistência à tração de um aço e retorne o grau do aço. Desenvolver um programa que leia o conteúdo
do carbono (CC), a dureza Rockwell (DR) e a resistência à tração (RT), chame a função especificada
acima e imprima a classificação do aço.#include<stdio.h>
main () {
int c,dr,rt,grau;
scanf("%d",&c);
scanf("%d",&dr);
scanf("%d",&rt);
if (c<7 && dr>50 && rt>80000) {
printf("ACO DE GRAU = %d\n",10);
}
if (c<7 && dr>50 && rt<=80000) {
printf("ACO DE GRAU = %d\n",9);
}
if (c<7 && dr<=50 && rt<=80000) {
printf("ACO DE GRAU = %d\n",8);
}
if (c>=7 && dr<=50 && rt<=80000) {
printf("ACO DE GRAU = %d\n",7);
}
if (c>=7 && dr>50 && rt>80000) {
printf("ACO DE GRAU = %d\n",7);
}
if (c>=7 && dr<=50 && rt>80000) {
printf("ACO DE GRAU = %d\n",7);
} }Gostaria de saber como faço esse ex com funções, preciso aprender pois vou ter uma prova e vai ser obrigatório usar funções em todos os exercícios.
-
(IME-USP) Sabe-se que um número da forma n ao cubo é igual a soma de n ímpares consecutivos. Exemplo: 1 ao cubo = 1, 2 ao cubo = 3 + 5, 3 ao cubo = 7 + 9 + 11 e 4 ao cubo = 13 + 15 + 17 + 19. Dado m, determine os ímpares consecutivos cuja soma é igual a n 3 para n assumindo valores de 1 a m. Entrada O programa deve ler um número inteiro maior que zero. Saída O programa deve apresentar m linhas com a seguinte mensagem: "k ∗ k ∗ k = x1 + x2 + . . . + xk", onde k = 1, 2, . . . , m e xi é a sequência de números ímpares consecutivos.
Exemplo
Entrada
4
Saída
1*1*1 = 1
2*2*2 = 3+5
3*3*3 = 7+9+11
4*4*4 = 13+15+17+19
#include<stdio.h> #include<math.h> main () { int m,n,i,impar1,impar2; scanf("%d",&m); for (i=0;i<=m;i++) { for(n=1;n<=m;n++) { if (impar1%2==!0) { if (m*m*m == impar1+(impar2+2)) { printf("%d*%d*%d = %d+%d\n",n,n,n,impar1,impar2+2); }}}}}
Alguém me ajuda com a resolução desse exercício por favor, professor passou pra treinar exercícios com mais de um laço de repetição e to confundindo bastante na hora da lógica.Obs: Lembrando que não entrei em vetor ainda e estou pegando a matéria de introdução a programação.
-
-
Escreva um programa em linguagem C que leia um número qualquer n de 0 a 9 e imprima na tela
a tabuada de soma, subração, multiplicação e divisão desse número para K valores, iniciando em i em
incrementos de s.Exemplo
Entrada
3
1
2
0.1
Saída
Tabuada de soma:
3.00 + 1.00 = 4.00
3.00 + 1.10 = 4.10
Tabuada de subtracao:
3.00 - 1.00 = 2.00
3.00 - 1.10 = 1.90
Tabuada de multiplicacao:
3.00 x 1.00 = 3.00
3.00 x 1.10 = 3.30
Tabuada de divisao:
3.00 / 1.00 = 3.00
3.00 / 1.10 = 2.73Travei nesse exercício e não to conseguindo fazer a lógica de K valores, help.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main () {float n,i,o,k,s,incremento;
scanf("%f",&n);
scanf("%f",&o);
scanf("%f",&k);
scanf("%f",&s);
if (n>=0 && n<=9) {
while(k--) {incremento = o+s ;
printf("Tabuada de soma:\n %.2f + %.2f = %.2f\n %.2f + %.2f = %.2f\n",n,o,n+o,n,o,n+incremento);
}- 1
-
Desenvolver um algoritmo para ler um número x, calcular e imprimir o valor de y de acordo com as
condições abaixo:x; se x < 1;
y = 0; se x = 1;
x²; se x >1;#include<stdio.h>
#include<math.h>
main () {
int x,y;
scanf("%d",&x);if (x<1) {
y=x;
printf("Y = %d\n",y);
}
if (x=1){
y=0;
printf("Y = %d\n",y);
}
if (x>1) {
y= pow(x,2);
printf("Y = %d\n",y);
}}
-
Supondo que a população de um país A seja de a habitantes com uma taxa anual de crescimento de 3%
e que a população de um país B seja de b habitantes, com uma taxa anual de crescimento de 1,5%, fazer um
algoritmo que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou
iguale a população do país B, mantidas essas taxas de crescimento.
Resposta até agora:#include<stdio.h>
main () {
float A,B,A1,B1;
int anos=0;
scanf("%d",&A);
scanf("%d",&B);while(A1<B1) {
A1= A+(A*0.03);
B1= B+(B*0.015);
anos++;
}
printf("%d",anos);Dei uma travada nesse exercício, se alguém puder ajudar agradeço.
-
Tenho um exercício onde pede pra fazer um calculo para cada tipo de conta (R de residencial,C de comercial e I de industrial), nunca fiz exercício com char e getchar. Quero saber como eu vou colocar pra ler esses caracteres R,C e I que vão ser colocados na entrada(só um deles vai ser colocado), dai depois vou fazer um if e em cada um deles faço uma conta diferente.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Ex função e numero perfeito
em C/C#/C++
Postado