[] Estrutura de dados e de estudo algoritmo notas - "notas algoritmo," problemas de matemática simples [-15]

Exemplo: buraco negro digitais
Aqui Insert Picture Descrição

#include <cstdio>
 #include <time.h>
 #include<stdlib.h>
#include<math.h>
#include <vector>
//#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

bool cmp(char a, char b)
{
	return a > b;
}

int main()
{
	int num[4];
	int n;

	int max, min;
	while (scanf("%d",&n)!=EOF)
	{
		int output = -1;
		while (output != 6174 && output != 0)
		{
			for (int i = 0; i < 4; i++)
			{
				num[i] = n % 10;
				n /= 10;
			}
			sort(num, num + 4);
			max = num[3] * 1000 + num[2] * 100 + num[1] * 10 + num[0];
			min = num[0] * 1000 + num[1] * 100 + num[2] * 10 + num[3];
			output = max - min;
			if (output == 0)
			{
				printf("%d-%d=0000\n", max, min);
			}
			else
			{
				printf("%d-%d=%d\n", max, min, output);
			}
			n = output;
		}
	}
}

Aqui escrever a saída não é bom o suficiente, você pode printf diretamente write ( "% 04d", n);

número Mamorukatachi

Descrição Título
forma manter é um número inteiro, o que é igual ao quadrado da própria porção inferior.
625 de modo a que o quadrado 25, a parte inferior 25, 25 manter, assim, um número de forma.
Um programa compilado, determina se o número N é para manter a forma.
Entrada
entradas incluem um número inteiro N, 2 <= N <100 .
Saída
pode ser vários conjuntos de dados de teste para cada conjunto de dados,
saídas "Sim!" Denota N é o número de forma de sustento.
Output "Não!" Representa o número N não é uma forma defensiva.
entrada de amostra
6
11
Exemplo de saída
Sim!
Não!

#include <cstdio>
 #include <time.h>
 #include<stdlib.h>
#include<math.h>
#include <vector>
//#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

bool cmp(char a, char b)
{
	return a > b;
}

int main()
{
	int n, s;
	int num[3];
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		s = n * n;
		int len = 0;
		while(n)
		{
			num[i++] = n % 10;
			n /= 10;
			len++;
		}
		bool flag = true;
		for (int i = 0;i<len; i++)
		{
			if (num[i] != s % 10)
			{
				flag = false;
				break;
			}
			s /= 10;
		}
		if (flag == true)
			printf("Yes!\n");
		else
			printf("No!\n");
	}
	return 0;
}

ordinal anti

Descrição Título
Seja n um dígito, acontece nove vezes o número na ordem inversa (por exemplo: 1234 é o número de ordem inversa 4321)
encontrar o valor de N
entrada de
programa não há dados de entrada.
Saída
os requisitos de saída do dígito sujeito, se o resultado de vários conjuntos, cada conjunto de resultados para o transporte entre espaçadas.

#include "stdafx.h"
#include <cstdio>

using namespace std;

int main()
{
	for (int i = 1000; i <= 2499; i++)
	{
		int a[4] = { 0 };
		int s = 0, temp = i;
		int k = 0;
		while (temp)
		{
			a[k++] = temp % 10;
			temp /= 10;
		}
		s = a[3] + 10 * a[2] + 100 * a[1] + 1000 * a[0];
		if (i * 9 == s)	printf("%d\n", i);
	}
	return 0;
}

raiz cúbica iterativo

Título Descrição
raiz cúbica aproximação equação iterativo é Y (1. + N) = Y (n) 2/3 + x / (. 3 Y (n) * Y (n)), onde y0 = x. Procurando após n x dado o valor da raiz cúbica das iterações.
Digite
vários conjuntos de entrada de dados.
Cada linha, o xn entrada.
Saída
raiz iteração cubo, precisão dupla após n vezes, seis casas decimais depois.
entrada de amostra
4654684. 1
65461 23 é
a saída de amostra
3,103,122.666667
40,302088

#include "stdafx.h"
#include <cstdio>
 #include <time.h>
 #include<stdlib.h>
#include<math.h>
#include <vector>
//#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
	int n;
	double x, y;
	while (scanf("%lf%d", &x, &n)!=EOF)
	{
		y = x;
		for (int i = 0; i < n; i++)
		{
			y = y * 2 / 3 + x / (3 * y*y);
		}
		printf("%lf\n", y);
	}
	return 0;
}
Publicado 43 artigos originais · ganhou elogios 4 · Vistas 1208

Acho que você gosta

Origin blog.csdn.net/weixin_42176221/article/details/101861897
Recomendado
Clasificación