Hailstone Serien i C
Postat: 15 okt 2007, 20:33
Hejsan!
Jag vet inte riktigt hur jag ska få "The Hailstone" Serien att skrivas ut som denna text, någon som kan ge mig en vägledning?
Enter a Positive Integer(startvalue) for Hailstone: 35
The Hailstone series is: 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1.
Reglerna för Hailstone är:
1. Den första heltalet i serien måste vara ett positivt tal.
2. Om första siffran är udda, ska det andra siffran i serien var = första / 2.
3. ... Men om första siffran är udda ska den andra siffran var 3x så stort som det första+1.
4. Samma regel gäller mellan andra och tredje siffran, dvs. om andra siffran är jämn så är 3:e siffran = 2:a/2, men om andra siffran är udda så är det tredje 3 ggr det 2:a+1
5. Dessa regler repeteras till siffran '1' visas.
Min Källkod:
#include <stdio.h>
int main()
{
unsigned long int Value;
printf( "Enter a positive integer(startvalue) for Hailstone: \n");
scanf( "%d", &Value);
while (Value != 1)
{
if (Value%2 == 0)
{
Value/= 2;
}
else
{
Value = Value * 3 + 1;
}
}
printf( "The Hailstone series produced is: %d\n", Value);
system("Pause"); //Kan remmas bort!!!
return 0;
}
Jag vet inte riktigt hur jag ska få "The Hailstone" Serien att skrivas ut som denna text, någon som kan ge mig en vägledning?
Enter a Positive Integer(startvalue) for Hailstone: 35
The Hailstone series is: 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1.
Reglerna för Hailstone är:
1. Den första heltalet i serien måste vara ett positivt tal.
2. Om första siffran är udda, ska det andra siffran i serien var = första / 2.
3. ... Men om första siffran är udda ska den andra siffran var 3x så stort som det första+1.
4. Samma regel gäller mellan andra och tredje siffran, dvs. om andra siffran är jämn så är 3:e siffran = 2:a/2, men om andra siffran är udda så är det tredje 3 ggr det 2:a+1
5. Dessa regler repeteras till siffran '1' visas.
Min Källkod:
#include <stdio.h>
int main()
{
unsigned long int Value;
printf( "Enter a positive integer(startvalue) for Hailstone: \n");
scanf( "%d", &Value);
while (Value != 1)
{
if (Value%2 == 0)
{
Value/= 2;
}
else
{
Value = Value * 3 + 1;
}
}
printf( "The Hailstone series produced is: %d\n", Value);
system("Pause"); //Kan remmas bort!!!
return 0;
}