C语言 · 勾股数
勾股數(shù)
勾股定理,西方稱為畢達(dá)哥拉斯定理,它所對(duì)應(yīng)的三角形現(xiàn)在稱為:直角三角形。
? 已知直角三角形的斜邊是某個(gè)整數(shù),并且要求另外兩條邊也必須是整數(shù)。
? 求滿足這個(gè)條件的不同直角三角形的個(gè)數(shù)。
【數(shù)據(jù)格式】 輸入一個(gè)整數(shù) n (0<n<10000000) 表示直角三角形斜邊的長(zhǎng)度。 要求輸出一個(gè)整數(shù),表示滿足條件的直角三角形個(gè)數(shù)。
例如,輸入: 5 程序應(yīng)該輸出: 1
再例如,輸入: 100 程序應(yīng)該輸出: 2
再例如,輸入: 3 程序應(yīng)該輸出: 0
資源約定: 峰值內(nèi)存消耗 < 256M CPU消耗? < 1000ms
請(qǐng)嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請(qǐng)您輸入...” 的多余內(nèi)容。
所有代碼放在同一個(gè)源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include <xxx>, 不能通過工程設(shè)置而省略常用頭文件。
提交時(shí),注意選擇所期望的編譯器類型。
1 #include<stdio.h> 2 int main(){ 3 int a,b,c; 4 int ans=0; 5 scanf("%d",&c); 6 for(a=3;a<=10000;a++){ 7 for(b=4;b<=10000;b++){ 8 if(a+b<=c) continue;//如果兩邊之和小于第三邊,跳出 9 if(b<=a) continue; 10 if(a*a+b*b==c*c){ 11 ans++; 12 printf("%d %d %d\n",a,b,c); 13 } 14 } 15 } 16 printf("%d",ans); 17 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/panweiwei/p/6682861.html
總結(jié)
- 上一篇: 内有图,亏吗?求秒快捷!100分!!!!
- 下一篇: 20162303 2016-2017-2