C 練習例項3 之mysql實現

2021-09-25 18:01:11 字數 1116 閱讀 7830

題目:乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?

程式分析:

假設該數為 x。

1、則:x + 100 = n2, x + 100 + 168 = m2

2、計算等式:m2 - n2 = (m + n)(m - n) = 168

3、設定: m + n = i,m - n = j,i * j =168,i 和 j 至少乙個是偶數

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要麼都是偶數,要麼都是奇數。

5、從 3 和 4 推導可知道,i 與 j 均是大於等於 2 的偶數。

6、由於 i * j = 168, j>=2,則1 < i < 168 / 2 + 1

7、接下來將 i 的所有數字迴圈計算即可。

具體實現如下:

drop  procedure if exists test;

create procedure test( )

begin

declare i int default 1 ;

declare j,m,n,x int;

create temporary table t(rst int);

while i<= 168 / 2 + 1 do

if 168 % i =0 then

set j= 168 div i;

if i > j and (i + j) % 2 = 0 and (i - j) % 2 = 0 then

set m = (i + j) div 2;

set n = (i - j) div 2;

set x = n * n - 100;

insert into t values(x);

end if;

end if;

set i=i+1;

end while;

select * from t;

drop temporary table if exists t;

end;

C 練習例項4 之mysql實現

題目 輸入某年某月某日,判斷這一天是這一年的第幾天?程式分析 以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。drop function if exists test create function test year int,...

Python 練習例項3

題目 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?程式分析 假設該數為 x。1 則 x 100 n2,x 100 168 m2 2 計算等式 m2 n2 m n m n 168 3 設定 m n i,m n j,i j 168,i 和 j 至少乙個是偶數...

C 練習例項41 50

41.題目 學習static定義靜態變數的用法。include int main void fun 42.題目 學習使用auto定義變數的用法。include int main return 0 43.題目 學習使用static的另一用法。include int main return 0 44.題...