問題描述:
對於每一個大於1的正整數,如果它是奇數,則將其乘3加1,如果它是偶數,則將除以2,如此循環,最終將得到1。輸出數據包含從這個整數到1的按照敘拉古猜想變換的序列,每行一個數字。
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
while(1)
{
if( a%2 == 0 )
{
a = a / 2;
printf("%d\n",a);
}
if( a%2 != 0 )
{
a = a * 3 + 1;
printf("%d\n",a);
}
if( a == 1 ) break;
}
return 0;
}
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a;
scanf_s("%d", &a);
while (1)
{
if (a == 1)
break;
if (a % 2 == 0)
{
a = a / 2;
printf("%d\n", a);
continue;
}
if (a % 2 != 0)
{
a = a * 3 + 1;
printf("%d\n", a);
continue;
}
}
return 0;
}