看板 C_and_CPP 關於我們 聯絡資訊
巢狀解法用巢狀程式處理. ※ 引述《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)
wodada:謝謝!! 09/25 22:23