Alleen voor de Pro's

Status
Niet open voor verdere reacties.

zettekakkers

Gebruiker
Lid geworden
21 jul 2011
Berichten
134
Bepaal alle getallen, bestaande uit drie cijfers, waarvoor de som van de derdemachten van de individuele cijfers het getal zelf oplevert.
voorbeeld: 153= 1^3 + 5^3 + 3^3
Wie kraakt dit?:thumb:
 
Dit doe je natuurlijk d.m.v een programma.
Ik heb even snel wat pseudocode geschreven:
Code:
for(x=1 ; x < 9 ; x++)
{
	for(y=1 ; y < 9 ; y++)
	{
		for(z=1 ; z < 9 ; z++)
		{
			antwoord = x^3 + y^3 + z^3

			if(antwoord > 99 && antwoord <= 999)
			{
				if(antwoord == x.y.z)
				{
					print ("geldig antwoord: ", x.y.z)
				}
			}
		}
	}
}
 
wow :D
hoe zet je dit om in vb :D
dat was snel
 
Laatst bewerkt door een moderator:
Dat is aan jou. Houd er wel rekening mee dat dit de computer sterk doet vertragen aangezien dit een brute force oplossing is en geen logische algoritme.
 
Pi1b7.png


Net even gemaakt:

C#
PHP:
            for (int teller = 100; teller < 1000; teller++)
            {
                int g1 = Convert.ToInt32(teller.ToString().Substring(0, 1));
                int g2 = Convert.ToInt32(teller.ToString().Substring(1, 1));
                int g3 = Convert.ToInt32(teller.ToString().Substring(2, 1));

                if (Math.Pow(g1, 3) + Math.Pow(g2, 3) + Math.Pow(g3, 3) == teller)
                    Console.WriteLine("{0} staat gelijk aan: ({1}^3 + {2}^3 + {3}^3)", teller, g1,g2,g3);
            }
            Console.Read();

VB.NET
PHP:
        For teller As Integer = 100 To 999
            Dim g1 As Integer = teller.ToString().Substring(0, 1)
            Dim g2 As Integer = teller.ToString().Substring(1, 1)
            Dim g3 As Integer = teller.ToString().Substring(2, 1)
            If (Math.Pow(g1, 3) + Math.Pow(g2, 3) + Math.Pow(g3, 3)) = teller Then
                Console.WriteLine("{0} staat gelijk aan: ({1}^3 + {2}^3 + {3}^3)", teller, g1, g2, g3)
            End If
        Next
        Console.Read()
 
Laatst bewerkt:
En voor de C++'ers:

bqUI4.png


[cpp]#include <iostream>
#include <sstream>
#include <stdlib>
#include <math>
using namespace std;

string toString(const int& i);

int main()
{
for (int i = 100; i < 1000; i++)
{
string str = toString(i);
int a1 = atoi(str.substr(0,1).c_str());
int a2 = atoi(str.substr(1,1).c_str());
int a3 = atoi(str.substr(2,1).c_str());
if ((pow(a1,3) + pow(a2,3) + pow(a3,3)) == i)
cout << i << " staat gelijk aan: (" << a1 << "^3 + " << a2 << "^3 + " << a3 << "^3)" << endl;
}
return 0;
}

string toString(const int& i)
{
ostringstream s;
s << i;
return s.str();
}[/cpp]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan