推 wodada:謝謝!! 09/25 22:23
巢狀解法用巢狀程式處理.
※ 引述《wodada (wodada)》之銘言:
: 程式碼如下:
: #include <stdio.h>
: #include <stdlib.h>
: #include <math.h>
: void seqence(void)
換成 void sequence(int X[], int len)
: {
if (len < 0) return;
int k = 0;
: int x= 99;
: int y[]= {1, 6, 1, 1, 2, 3, 4};
do {
int x = X[k];
printf("Processing #%d in X ...\n", k+1);
: int i;
: printf("The x1 is: %d\n", x);
: for(i= 0; i<7; i++)
: {
: x= (3*x+ 1)/pow(2,y[i]);
: printf("The x%d is: %d\n", i+2, x);
: }
k++;
} while (k < len);
: }
: int main(int argc, char *argv[])
: {
: seqence();
換成 sequence({99,97,95, ... }, 50); 假設陣列長度為50
: system("PAUSE");
: return 0;
: }
: 執行結果如下: The x1 is: 99
: The x2 is: 149
: The x3 is: 7
: The x4 is: 11
: The x5 is: 17
: The x6 is: 13
: The x7 is: 5
: The x8 is: 1
: 雖然程式寫的沒有錯誤,可是只算出X1= 99的情況,還有97,95,93...13...5...1
: 等其他奇數的情況,另外,我在陣列Y部分我是先用筆算出來在換算成程式碼,可是我是希
: 望用數學的方式來換成程式碼,請問一下各位高手該如何解決這個問題???
: 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.229.208
※ 編輯: yauhh 來自: 59.112.229.208 (09/25 09:05)