1樓:匿名使用者
**比較簡單,各語句意義見註釋。。。
#include
int main(int argc, char *ar**)int i; /*定義要處理的變數*/
scanf("%d", &i); /*輸入變數值*/while(i != 1)
if(i%2)/*奇數*/
printf("%d*3+1=%d\n", i, i*3+1); /*按題目要求的格式列印出來*/
i = i*3+1; /*更新變數值*/
else /*偶數*/
printf("%d/2=%d\n", i, i/2); /*按題目要求的格式列印出來*/
i = i/2; /*更新變數值*/
printf("end\n"); /*最後列印end*/return 0;
另外幾個測試結果**:
2樓:匿名使用者
#include
void main()
else
}while(n!=1);
printf("end!\n");
}這樣的**你能看懂吧
3樓:匿名使用者
#include
#include
#include
using namespace std;
long long n;
int main()
else}
printf("end\n");}
else printf("end\n");
return 0;}
4樓:匿名使用者
有了白言規則,這個猜想幾乎可以稱為定理了!
角谷猜想-白言規則
白言規則走勢圖:
奇偶歸一走勢圖
程式設計求助!!c語言怎麼用遞迴方法解決角谷猜想?
5樓:匿名使用者
ls 的正確。。
不過個人認為
void f(int a)
6樓:匿名使用者
你的程式這樣改
#include "stdio.h"
int f(int a)
void main()
有的數字遞迴次數很長導致堆疊溢位
我是這樣算的,可以一次算出1~n的迴圈步數有到projecteuler題目就是這個
#include
#include
using namespace std;
#define n 100
int a[n+1]=;
int f(int n);
void main()
int f(int n)}
7樓:閉目成佛
#include
#include
int f(int a)
樓主你這一句scanf("%d",a)忘加&了;
int main()
8樓:匿名使用者
遞迴是吧,這樣就可以了
#include "stdio.h"
static int k=0;
void f(int a)
void main()
9樓:冰至誠
if (a%2==0) return(f(3*a+1));
if (a%2) return(f(a/2));
這兩個反了,改為
if (a%2==0) return(f(a/2));
if (a%2) return(f(3*a+1));
為什麼C語言輸出為,為什麼C語言輸出為
你的題目不知道是什麼意思,只是改正了語法錯誤,現在能執行了,不知是否可以?include 此行有改動 intmain printf s lf th lf s,h return0 你還把printf達成了print 我第一次見先列印再計算還問為什麼,你沒學c吧,為了考2級?因為你把這兩句的順序寫反了,...
c語言的輸出問題,乙個C語言的輸出問題
輸入必須按語句scanf d d d x,y,z 中的 d d d 形式輸入,三個數之間沒有任何分隔符,而題目輸入時有逗號,所以輸出值不確定 看好了,程式裡面是這麼輸入的 scanf d d d x,y,z 而你執行程式的時候,輸入資料格式是 25,13,10 這裡面逗號是關鍵,如果你的輸入是 25...
C語言求輸出結果,include stdio h mainint a 23,5 swap1 a swap2 b
void swap2 int c0,int c1 這裡只來是將3 5這兩個數傳遞到swap2函式源中,在子函式中進行了兩數交換,而主函式中的資料沒有變化,故b 0 b 1 依然是原來的數。void swap1 int c 這裡形象來說,好比傳進來乙個盒子,盒子分左右兩格,本函式是將盒子裡的東西左右進...