大學(xué)生新聞網(wǎng),大學(xué)生新聞發(fā)布平臺
大學(xué)生新聞網(wǎng)
大學(xué)生新聞大學(xué)生活校園文學(xué)大學(xué)生村官
社會實踐活動社會實踐經(jīng)歷社會實踐報告社會實踐總結(jié)社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名專科排名學(xué)校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學(xué)生就業(yè)
英語學(xué)習(xí)計算機學(xué)習(xí)電氣工程機械工程經(jīng)濟管理建筑設(shè)計財務(wù)會計
申請書證明書檢討書自薦信演講稿心得體會調(diào)查報告讀后感求職信推薦信其它范文

C語言求勾股數(shù)

問題描述
求100以內(nèi)的所有勾股數(shù)。

所謂勾股數(shù),是指能夠構(gòu)成直角三角形三條邊的三個正整數(shù)(a,b,c)。

問題分析
根據(jù)“勾股數(shù)”定義,所求三角形三邊應(yīng)滿足條件 a2 + b2 = c2。可以在所求范圍內(nèi)利用窮舉法找出滿足條件的數(shù)。
算法分析
采用窮舉法求解時,最容易想到的一種方法是利用3個循環(huán)語句分別控制變最a、b、c的取值范圍,第1層控制變量a,取值范圍是1〜100。在a值確定的情況下再確定b值,即第2層控制變量b,為了避免結(jié)果有重復(fù)現(xiàn)象,b的取值范圍是a+1〜100。a、b的值已確定,利用窮舉法在b+1〜100范圍內(nèi)一個一個的去比較,看當(dāng)前c值是否滿足條件 a2 + b2 = c2,若滿足,則輸出當(dāng)前a、b、c的值,否則繼續(xù)尋找。主要代碼如下:

//...
for(a=l; a<=100; a++)  /*確定a的取值*/
for(b=a+l; b<=100; b++)  /*確定b的取值*/
for(c=b+l; c<=100; c++)  /*確定c的取值*/
if(a*a+b*b==c*c)
printf ("%d\t%d\t%d\n", a, b, c)  /*判斷三個變量是否滿足勾股數(shù)條件*/
//...
但是上述算法的效率比較低,根據(jù) a2 + b2 = c2 這個條件,在a、b值確定的情況下,沒必要再利用循環(huán)一個一個去尋找c值。若a、b、c是一組勾股數(shù),則 a2 + b2 的平方根一定等于c,c的平方應(yīng)該等于a、b的平方和,所以可將的平方根賦給c,再判斷c的平方是否等于。根據(jù)“勾股數(shù)”定義將變量定義為整型,a2 + b2 的平方根不一定為整數(shù), 但變量c的類型為整型,將一個實數(shù)賦給一個整型變量時,可將實數(shù)強制轉(zhuǎn)換為整型(舍棄小數(shù)點之后的部分)然后再賦值,這種情況下得到的c的平方與原來的的值肯定不相等,所以可利用這一條件進行判斷。

下面是完整的代碼:

#include<stdio.h>
#include<math.h>
int main()
{
    int a, b, c, count=0;
    printf("100以內(nèi)的勾股數(shù)有:\n");
    printf("  a     b    c       a     b    c       a     b    c       a     b    c\n");
    /*求100以內(nèi)勾股數(shù)*/
    for(a=1; a<=100; a++)
        for(b=a+1; b<=100; b++)
        {
            c=(int)sqrt(a*a+b*b);  /*求c值*/
            if(c*c==a*a+b*b && a+b>c && a+c>b && b+c>a && c<=100)  /*判斷c的平方是否等于a2+b2*/
            {
                printf("%4d %4d %4d     ", a, b, c);
                count++;
                if(count%4==0)  /*每輸出4組解就換行*/
                    printf("\n");
            }
        }
    
    printf("\n");
    return 0;
}</math.h></stdio.h>
運行結(jié)果:

100以內(nèi)的勾股數(shù)有:
   a    b    c        a    b    c        a    b    c        a    b    c
   3    4    5        5   12   13        6    8   10        7   24   25
   8   15   17        9   12   15        9   40   41       10   24   26
  11   60   61       12   16   20       12   35   37       13   84   85
  14   48   50       15   20   25       15   36   39       16   30   34
  16   63   65       18   24   30       18   80   82       20   21   29
  20   48   52       21   28   35       21   72   75       24   32   40
  24   45   51       24   70   74       25   60   65       27   36   45
  28   45   53       28   96  100       30   40   50       30   72   78
  32   60   68       33   44   55       33   56   65       35   84   91
  36   48   60       36   77   85       39   52   65       39   80   89
  40   42   58       40   75   85       42   56   70       45   60   75
  48   55   73       48   64   80       51   68   85       54   72   90
  57   76   95       60   63   87       60   80  100       65   72   97
    作者:大學(xué)生新聞網(wǎng)    來源:大學(xué)生新聞網(wǎng)
    發(fā)布時間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言求最大公約數(shù)
  • 如果有一個自然數(shù)a能被自然數(shù)b整除,則稱a為b的倍數(shù),b為a的約數(shù)。幾個自然數(shù)公有的約數(shù),叫做這幾個自然數(shù)的公約數(shù)。
  • 03-12 關(guān)注:0
  • C語言求勾股數(shù)
  • 所謂勾股數(shù),是指能夠構(gòu)成直角三角形三條邊的三個正整數(shù)(a,b,c)。
  • 03-11 關(guān)注:3
  • C語言求回文數(shù)
  • 將數(shù)組中元素重新組合成一新數(shù)。拆分時變量a的最高位仍然存儲在數(shù)組中下標(biāo)最大的位置
  • 03-11 關(guān)注:3
  • C語言水仙花數(shù)
  • 輸出所有的“水仙花數(shù)”,所謂的“水仙花數(shù)”是指一個三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,因為:153 = 13
  • 03-11 關(guān)注:3
  • C語言求自守數(shù)
  • 自守數(shù)是指一個數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。
  • 03-11 關(guān)注:2
  • C語言求親密數(shù)
  • C語言求親密數(shù)
  • 如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 關(guān)注:2
  • C語言求完數(shù)(完全數(shù))
  • C語言求完數(shù)(完全數(shù))
  • 如果一個數(shù)等于它的因子之和,則稱該數(shù)為“完數(shù)”(或“完全數(shù)”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數(shù)”。
  • 03-11 關(guān)注:3
主站蜘蛛池模板: 日本一卡2卡3卡4卡无卡免费| 国产在线五月综合婷婷| 四虎精品视频在线永久免费观看| 亚洲欧美日韩电影| 亚洲欧洲国产综合| 中文丰满岳乱妇在线观看| 日本人的色道免费网站| 爱搞视频首页在线| 欧美成人精品三级网站| 妲己高h荡肉呻吟np| 国产亚洲欧美在在线人成| 亚洲剧情在线观看| 久久受www免费人成_看片中文| 91热久久免费精品99| 精品一区二区三区在线观看 | 国产丰满岳乱妇在线观看| 亚洲一区二区三区高清| AV无码小缝喷白浆在线观看| 美国亚洲成年毛片| 色一情一乱一乱91av| 日韩黄色一级大片| 国产精品亚洲欧美大片在线观看| 亚洲视频免费在线观看| xxxxx日本人| 精品人妻潮喷久久久又裸又黄 | 亚洲最大看欧美片网站| 欧美精品久久久久久久自慰| 天天干天天色天天干| 再深一点再重一点| 两个人看的www视频免费完整版 | 车文里的冰块棉签是干啥用的 | 亚洲色四在线视频观看| 777米奇色狠狠888俺也去乱| 浪潮AV色综合久久天堂| 大奉打更人最新章节| 人妻少妇被猛烈进入中文字幕| 一本久久a久久精品亚洲| 精品人妻少妇一区二区三区在线| 夜夜偷天天爽夜夜爱| 人与禽交zozo| 九九电影院理论片|