Basic求10000以內(nèi)的完美數(shù)
完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。
Dim a as Integer,b as Integer,c as Integer For a = 1 To 10000 c = 0 For b = 1 To a \ 2 If a Mod b = 0 Then c = c + b Next b If a = c Then Print Str(a) Next a
另附上java版的代碼
import java.util.ArrayList; public class T013 { public static void main(String[] args){ ArrayList p = new ArrayList(); // 保存每組的分解因子 int count = 0; // 計數(shù)(完數(shù)的總個數(shù)) int sum; // sum = (每個因子之和) for(int i=2;i<10000;i++){ // 測試每個數(shù) i sum = 0; for(int j=1;j<i/2+1;j++){ if(i%j==0){ p.add(j); // 保存 i 的每個因子 sum += j; // 保存sum(i的所有因子相加之和) } } if(sum==i){ // 如果當(dāng)前 i 是完數(shù),則輸出(i=所有因子之和) count++; System.out.printf("%4d"+" 是完數(shù),因子是"+i+"=",i); for(int k=0;k<p.size()-1;k++){ System.out.print(p.get(k)+"+"); } System.out.println(p.get(p.size()-1)); } p.clear(); // 每個 i 結(jié)束,清空數(shù)組,重計下一個i的因子。 } System.out.println("\n共找到"+count+"個完數(shù)!"); } }
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
VB使用XMLHTTP實現(xiàn)Post與Get的方法
這篇文章主要介紹了VB使用XMLHTTP實現(xiàn)Post與Get的方法,有一定的借鑒價值,需要的朋友可以參考下2014-07-07VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法
這篇文章主要介紹了VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法,比較實用的功能,需要的朋友可以參考下2014-07-07VB語言使用ADO連接、操作SQLServer數(shù)據(jù)庫教程
這篇文章主要介紹了VB語言使用ADO連接、操作SQLServer數(shù)據(jù)庫教程,本文講解詳細(xì)、代碼中有大量注釋,是非常好的一篇教程,需要的朋友可以參考下2014-08-08VB6實現(xiàn)連接Access數(shù)據(jù)庫的ADODB代碼實現(xiàn)方法
這篇文章主要介紹了VB6實現(xiàn)連接Access數(shù)據(jù)庫的ADODB代碼實現(xiàn)方法,對于初學(xué)者掌握VB鏈接access數(shù)據(jù)庫有著很好的借鑒價值,需要的朋友可以參考下2014-07-07在VB中遍歷文件并用正則表達(dá)式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法
這篇文章主要介紹了在VB中遍歷文件并用正則表達(dá)式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法,需要的朋友可以參考下2018-12-12淺談如何使用vb.net從數(shù)據(jù)庫中提取數(shù)據(jù)
這篇文章主要介紹了淺談如何使用vb.net從數(shù)據(jù)庫中提取數(shù)據(jù),使用VB提取數(shù)據(jù),是先查找,做成數(shù)組,再顯示到數(shù)據(jù)里,如果感興趣可以了解一下2020-07-07