C语言输出演算过程
〖c 语言训练〗角谷猜想问题描述
角谷猜想的内容是奇数则乘3 加1 , 得到一^ 新的自然数后按照上面的法则继续演算, 若十次后得到的结果必然为1 。编程验证。
任给一个自然数, 若为偶数除以2 , 若为
输入
任一正整数
输出
演算的过程
大佬们,演算过程怎么办? #include <stdio.h>
int main(void)
{
size_t n;
printf("请输入任意一个正整数: ");
scanf("%lu", &n);
while(n != 1)
{
if(n % 2 != 0)
{
printf("%lu * 3 + 1 = %lu\n", n, n * 3 + 1);
n = n * 3 + 1;
}
else
{
printf("%lu / 2 = %lu\n", n, n / 2);
n = n / 2;
}
}
printf("%lu\n", n);
return 0;
}
请输入任意一个正整数: 7
7 * 3 + 1 = 22
22 / 2 = 11
11 * 3 + 1 = 34
34 / 2 = 17
17 * 3 + 1 = 52
52 / 2 = 26
26 / 2 = 13
13 * 3 + 1 = 40
40 / 2 = 20
20 / 2 = 10
10 / 2 = 5
5 * 3 + 1 = 16
16 / 2 = 8
8 / 2 = 4
4 / 2 = 2
2 / 2 = 1
1
int test() {
int i,n;
scanf("%d", &i);
n = 0;
printf("-----------------------\n");
while (i != 1) {
if (i % 2 == 0) {
i = i / 2;
}
else {
i = 3 * i + 1;
}
n++;
printf("第%d次的数是%d\n", n, i);
}
printf("-----------------------\n");
return 0;
}
这个意思吗?
页:
[1]