參加第六屆ITAT C語言程式設計大賽複賽—–數學潰敗

來源:互聯網
上載者:User
早上睡過頭了,差點遲到.... 

第一題比較簡單,列出形似    AB*CD=BA*DC 形式的所有等式,每個字母代表一個數字。 本人的做法是:

設兩個數字      int X、Y,即    X=AB,    Y=CD,      那麼      BA=X/10+X%10*10    CD同上。   然後判斷  AB*CD==BA*DC即可《此為送分題,本人的代碼就不貼出來了》第二題稍微有些難度:    有變數   n=786245613984      讓求出刪除其中8個數字以後,按原序列的最小數字,並按原序列順序輸出被刪除的數字與 刪除後的最小數字  中間用逗號相隔。題目提示可以用字元數組求解,我依然用int數組求解 ,分析:已知:有變數   n=786245613984目標:讓求出刪除其中8個數字以後,按原序列排序的最小數字,附加結果:並按原序列輸出被刪除的數字與 刪除後的最小數字  中間用逗號相隔

解釋:我認為,最高位的數字越小,那麼這個數字整體就越小,所以我從第1位到第9位掃描最小的數字,用n1[0]記錄第一個也就是最高位元字在n[12]中的位置,然後從n1[0]位置開始到第10位尋找第二給我數字,在n[12]中的位置儲存在n1[1]中,以此類推,一直到最後一個數字取完,最後輸出。

 

源碼:

 1 #include<stdio.h> 

 

 2 int main()
 3 {
 4 
 5     int n[12]={7,8,6,2,4,5,6,1,3,9,8,4};
 6     int n1[4]={0,0,0,0};
 7     int i=0,j=0,a=3;
 8     
 9     for(i=1;i<=12-a;i++)
10     {
11         if(n[n1[j]]>n[i])
12         {
13             n1[j]=i;
14         }
15     }
16     for(i=1;i<4;i++)
17         n1[i]=n1[i-1]+1;
18 
19     for(i=1;i<4;i++)
20     {
21         for(j=n1[i];j<12-a;j++)
22         {
23             if(n[n1[i]]>n[j+1])
24             {
25                 n1[i]=j+1;
26             }
27         }
28         --a;
29     }
30     
31     i=0;
32     for(j=0;j<12;j++)
33     {   
34         if(n1[i]!=j)
35             printf("%d",n[j]);
36         else
37            {++i; continue;}
38     }  
39     printf(",");
40     for(i=0;i<4;i++)
41         printf("%d",n[n1[i]]);
42     getchar();
43     return 0;
44 }


 

Ps:著實收發和代碼規範不是很好,有最佳化建議提一下 嘿嘿。第三題是道附加題,比較偏數學知識,共有三小題:1.給定三個座標點,求這三點組成的三角形是屬於什麼類型三角形(銳角,直角,鈍角)2.就求第一問中這個三角形的外接圓的面積3.給定5個座標點,求經過這5個點的最小圓的面積第一問很簡單,設個二維數組,然後利用座標求各邊的值,最後利用相應的公式    判斷a2+b2和c2的關係  得出相應的結果第二問和第三問,沒有做,因為之前的數學知識沒有複習到圓部分,所以放棄了,但是大牛說可以利用高精度演算法實現,正在研究中......

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.