Hjälp med att räkna ut hur ett tal fördubblas var tionde minut! C#

Permalänk
Medlem

Hjälp med att räkna ut hur ett tal fördubblas var tionde minut! C#

Jag har en uppgift där jag försöker skriva en kod som fördubblar antalet bakterier i en bakteriehärd var tionde minut.

Användaren får mata in start antalet samt tiden i tiominuters intevaller så ska man se svara hur många bakterier det är efter den angiva tiden. Men jag får det verkligen inte att fungera. Någon vänlig själv som kan hjälpa till ? Måste få i gång rätt tänk

Permalänk
Medlem

Här kanske är en bättre bild =)

Permalänk
Medlem

Ska den öka till det dubbla i loppet av 10 minuter eller ska den bara dubblas efter 10 min?

Permalänk
Medlem

Kan inte C#, men det borde bara vara att ta: startvärde*2^antal-tiominutersintervall

dvs, startvärde 4 efter 50 min blir 4*2^5 =128

Permalänk
Medlem

Först får du räkna ut antalet fördubblingar. Varje fördubbling är en multiplicering med två, dvs du kommer få att efter x fördubblingar är det startvärdet*2^antal fördubblingar bakterier.

Exempel:
3 bakterier från början. På fyrtio minuter fördubblas bakterierna fyra gånger, så antalet bakterier är 3*2^4=3*16=48 bakterier.

Tips: funktionen du söker heter nog pow eller likn.

Permalänk

Detta är inte ett programmeringsproblem utan snarare ett matteproblem.
Använd dig av en exponentialfunktion. Här verkar finnas ett exempel: http://www.matteguiden.se/matte-a/funktioner/exponentialfunkt...

Permalänk
Medlem

Samt denna C# klass är värd att inspektera och bra att lära sig alla metoder som exponeras här http://msdn.microsoft.com/en-us/library/system.math.aspx

Permalänk
Medlem

Borde inte göra dina uppgifter åt dig Men det är ju så skoj med programmering!

public int CalculateBacteria(int numberOfIntervals, int initialCount)
{
int result = initialCount;
for (int i = 1; i <= numberOfIntervals; i++)
{
result += result;
}
return result;
}

Permalänk
Medlem
Skrivet av BlasteRs:

Borde inte göra dina uppgifter åt dig Men det är ju så skoj med programmering!

public int CalculateBacteria(int numberOfIntervals, int initialCount)
{
int result = initialCount;
for (int i = 1; i <= numberOfIntervals; i++)
{
result += result;
}
return result;
}

Som jag skrev i mitt föra inlägg kolla upp Math klassen.

Math.Pow

10 * Math.Pow(2, 10) T.ex.

Permalänk
Medlem
Skrivet av MugiMugi:

Som jag skrev i mitt föra inlägg kolla upp Math klassen.

Math.Pow

10 * Math.Pow(2, 10) T.ex.

Mycket roligare med en For loop juh!
Kanske inte hade rekommenderat det i vanliga fall, men bra att öva lite på For loops.