巧妙平方數

2021-07-25 07:53:06 字數 2184 閱讀 1195

不含重複數字的完全平方數為巧妙平方數。

試在 1,2,…,9 這9個數字中選出m個,組成巧妙平方數。

1.說明:

計算最小的m位數10^(m-1)開平方取整數t1,最大的m位數(10^m)-1開平方取整數t2,以t1+1和t2作為迴圈的初值與終值設定y迴圈;

檢驗m位平方數 f=y*y,經m次求餘分離 f 的每一位數字k,若k=0,即 f 含數字0,返回;設定b陣列,應用b(k)統計數字k的個數,若b(k)>1,即 f 中含有重複數字,返回;

經檢驗若 f 不含數字0,也沒有重複數字,則列印輸出。

2.程式設計:

#include#includeint main()

}if(x==0)

}printf("\n這樣的平方數共%d個。\n",n);

}

3.程式執行示例及其變通:

在1,2,...,9這9個數字選m個,組合成沒有重複數字的平方數。

請輸入平方數的位數m:9

139854276=11826^2 152843769=12363^2 157326849=12543^2

215384976=14676^2 245893761=15681^2 254817369=15963^2

326597184=18072^2 361874529=19023^2 375468129=19377^2

382945761=19569^2 385297641=19629^2 412739856=20316^2

523814769=22887^2 529874361=23019^2 537219684=23178^2

549386721=23439^2 587432169=24237^2 589324176=24276^2

597362481=24441^2 615387249=24807^2 627953481=25059^2

653927184=25572^2 672935481=25941^2 697435281=26409^2

714653289=26733^2 735982641=27129^2 743816529=27273^2

842973156=29034^2 847159236=29106^2 923187456=30384^2

這樣的平方數共30個。

變通:若允許含有數字」0「,請修改程式搜尋m位巧妙平方數。

在2、3、5、6、7、8、9這7個數字的全排列中有多少個平方數,試輸出所有這些平方數。

1.說明:

7個數字的全排列位7位數,求出最小7位數的平方根b和最大7位數的平方根c;

用a列舉 [b,c] 中的所有整數,計算d=a*a,這樣確保所求平方數在d中;

設定 f 陣列統計d中各數字的個數,若果 f[3]=2 ,即平方數d中有2個」3「;

檢測,若 f[k]>1(k=0~9),說明d中存在有重複數字,返回;

在不存在重複數字的情形下檢測,若 f[0]+f[1]+f[4]=0 ,說明7位平方數d中沒有數字0、1、4,d滿足題意要求,列印輸出。

2.程式設計:

#include#includeint main()

for(t=0,k=1;k<=9;k++)

if(f[k]>1)

t=1;

if(t==0&&f[0]+f[1]+f[4]==0)

}printf("共可組成以上%d個。\n",n);

}

3.程式執行示例及其變通:

數字2、3、5、6、7、8、9的全排列中的平方數:

1:3297856=1816^2

2:3857296=1964^2

3:5827396=2414^2

4:6385729=2527^2

5:8567329=2927^2

6:9572836=3094^2

共可組成以上6個。

變通:根據該例項可以拓展到求 0~9 中任意個位數的全排列巧妙平方數。

Vijos 巧妙填數

描述 將1,2,cdots,91,2,9共99個數分成三組,分別組成三個三位數,且使這三個三位數構成1 2 31 2 3的比例。試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576192,384,576滿足以上條件。無輸入。需要輸出全部結果。每行輸出3個數 用空格隔開。按照字典序的...

完全平方數

完全平方數 time limit 10000ms memory limit 65536k total submit 44 accepted 42 case time limit 1000ms description 由1 9九個數字組成的全排列可以被看作是乙個九位數,程式設計求出這些九位數中第n個完...

拼接平方數

小明發現49很有趣,首先,它是個平方數。它可以拆分為4和9,拆分出來的部分也是平方數。169也有這個性質,我們權且稱它們為 拼接平方數。100可拆分1 00,這有點勉強,我們規定,0 00 000 等都不算平方數。小明想 還有哪些數字是這樣的呢?你的任務出現了 找到某個區間的所有拼接平方數。輸入格式...