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

C語(yǔ)言求勾股數(shù)

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

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

問(wèn)題分析
根據(jù)“勾股數(shù)”定義,所求三角形三邊應(yīng)滿足條件 a2 + b2 = c2。可以在所求范圍內(nèi)利用窮舉法找出滿足條件的數(shù)。
算法分析
采用窮舉法求解時(shí),最容易想到的一種方法是利用3個(gè)循環(huán)語(yǔ)句分別控制變最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)一個(gè)一個(gè)的去比較,看當(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)  /*判斷三個(gè)變量是否滿足勾股數(shù)條件*/
//...
但是上述算法的效率比較低,根據(jù) a2 + b2 = c2 這個(gè)條件,在a、b值確定的情況下,沒(méi)必要再利用循環(huán)一個(gè)一個(gè)去尋找c值。若a、b、c是一組勾股數(shù),則 a2 + b2 的平方根一定等于c,c的平方應(yīng)該等于a、b的平方和,所以可將的平方根賦給c,再判斷c的平方是否等于。根據(jù)“勾股數(shù)”定義將變量定義為整型,a2 + b2 的平方根不一定為整數(shù), 但變量c的類(lèi)型為整型,將一個(gè)實(shí)數(shù)賦給一個(gè)整型變量時(shí),可將實(shí)數(shù)強(qiáng)制轉(zhuǎn)換為整型(舍棄小數(shù)點(diǎn)之后的部分)然后再賦值,這種情況下得到的c的平方與原來(lái)的的值肯定不相等,所以可利用這一條件進(jìn)行判斷。

下面是完整的代碼:

#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>
運(yùn)行結(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)    來(lái)源:大學(xué)生新聞網(wǎng)
    發(fā)布時(shí)間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語(yǔ)言求最大公約數(shù)
  • 如果有一個(gè)自然數(shù)a能被自然數(shù)b整除,則稱(chēng)a為b的倍數(shù),b為a的約數(shù)。幾個(gè)自然數(shù)公有的約數(shù),叫做這幾個(gè)自然數(shù)的公約數(shù)。
  • 03-12 關(guān)注:0
  • C語(yǔ)言求勾股數(shù)
  • 所謂勾股數(shù),是指能夠構(gòu)成直角三角形三條邊的三個(gè)正整數(shù)(a,b,c)。
  • 03-11 關(guān)注:3
  • C語(yǔ)言求回文數(shù)
  • 將數(shù)組中元素重新組合成一新數(shù)。拆分時(shí)變量a的最高位仍然存儲(chǔ)在數(shù)組中下標(biāo)最大的位置
  • 03-11 關(guān)注:3
  • C語(yǔ)言水仙花數(shù)
  • 輸出所有的“水仙花數(shù)”,所謂的“水仙花數(shù)”是指一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,因?yàn)椋?53 = 13
  • 03-11 關(guān)注:3
  • C語(yǔ)言求自守?cái)?shù)
  • 自守?cái)?shù)是指一個(gè)數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。
  • 03-11 關(guān)注:2
  • C語(yǔ)言求親密數(shù)
  • C語(yǔ)言求親密數(shù)
  • 如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 關(guān)注:2
  • C語(yǔ)言求完數(shù)(完全數(shù))
  • C語(yǔ)言求完數(shù)(完全數(shù))
  • 如果一個(gè)數(shù)等于它的因子之和,則稱(chēng)該數(shù)為“完數(shù)”(或“完全數(shù)”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數(shù)”。
  • 03-11 關(guān)注:3
主站蜘蛛池模板: 国产福利久久青青草原下载| 大陆老太交xxxxⅹhd| 国产小视频你懂的| 中国人免费观看高清在线观看二区| 色多多视频免费网站下载| 天天看天天摸天天操| 亚洲网红精品大秀在线观看| 国产精品白丝在线观看有码| 日本里番全彩acg里番下拉式| 全免费毛片在线播放| 你懂的在线视频网站| 日韩欧美电影在线观看| 再深点灬舒服灬舒服点男同| 99re这里有免费视频精品| 日韩av无码精品一二三区| 国产一级特黄生活片| 一级免费黄色毛片| 特级黄一级播放| 国产又粗又长又更又猛的视频| 中文字幕日韩精品在线| 欧美日韩国产在线人成| 国产三级在线视频播放线| 一人上面一个吃我电影| 最新国产精品亚洲| 国产AV日韩A∨亚洲AV电影| 91精品国产综合久久久久| 无码一区二区三区在线| 免费人成激情视频在线观看冫| 国产**一级毛片视频直播| 天堂8在线天堂资源bt| 久久亚洲精品无码观看不卡| 窝窝午夜看片国产精品人体宴| 国产成人综合在线观看网站| 91chinese在线| 男女生差差差很痛的app| 国产欧美日韩综合精品一区二区| 久久99国产精品久久99小说| 欧美精品v欧洲精品| 厨房掀起馊子裙子挺进去视频| 8090韩国理伦片在线天堂| 无码一区二区三区免费|