1. 程式人生 > >用C語言解決變數三角形問題

用C語言解決變數三角形問題

題目二:變數三角形問題
(1)問題描述
設A、B、C、D、E、F這六個變數可分別取[1,6]上的整數,將這六個變數排成如下圖所示的三角形,求使三角形三條邊上的變數之和相等的全部解。
A 1
B F 6 4
C D E 3 2 5

(2)演算法分析
先控制六個變數的值,使六個變數遍歷[1,6],再判斷符合條件的三角形(三邊
和相等且每個變數的值不相等。
(3)原始碼

#include"stdio.h"
void main()
{ int a,b,c,d,e,f;                                      
  for(a=1;a<=6;a++)                                       //利用六重迴圈得到六個變數的所有值
   for(b=1;b<=6;b++)
    for(c=1;c<=6;c++)
     for(d=1;d<=6;d++)
      for(e=1;e<=6;e++)
       for(f=1;f<=6;f++)
       { if
(a+b+c==c+d+e&&c+d+e==e+f+a) //三角形三邊相等 if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&b!=c&&b!=d&&b!=e&&b!=f&&c!=d&&c!=e&&c!=f&&d!=e&&d!=f&&e!=f) //六個變數的值各不相等
{ printf("%6d\n",a); //輸出三角形第一行的值 printf("%4d%4d\n",b,f); //輸出三角形第二行的值 printf("%2d%4d%4d\n\n",c,d,e);} //輸出三角形第三行的值 } }

執行結果:
這裡寫圖片描述