記錄 C 程式設計魔法數字6174

2021-09-05 06:50:28 字數 2102 閱讀 5687

乙個四位數的魔法數字。

描述:第一步:乙個四位數拆分每一位,成四個數字;

第二步: 用第一步拆分的四個數子組成乙個最大四位數和乙個最小四位數;

第三步:用第二步中的最大數減去最小數,之差等於6174則第一步原始四位數是魔法數字;否則將差進行第一步操作,依次迴圈,當迴圈15次之後不再迴圈。

**:

/*

* created by sharpdevelop.

* user: ajax

* date: 2013/7/27 星期六

* time: 23:41

* * 下面**是用來判斷乙個四位數是否滿足數學上的6174特性數字

*/using system;

namespace demo2

//檢測未通過的數字有

int startnumber=5643;

int initnumber = startnumber;

int number = new int[4];

int maxnumber = 0;

int minnumber = 0;

//count用來統計迴圈的次數,為了保證不出現死迴圈

int count=15;

int tempcount=count;

//因為count次有可能並不能檢測出來數子是6174數字,

//所以用來表示如果是進行了count次跳出迴圈的列印輸出"進行count檢測仍然不能判斷是6174數字"

bool flag=true;

do//每次進入迴圈體,這兩個值回到初始值

maxnumber = 0;

minnumber = 0;

int index = 0;

int initnumbertemp=initnumber;

while (initnumbertemp > 0)

console.writeline();

console.writeline("第一步:拆分數字="+initnumber+"=完成");

//將陣列中的數字從大到小排序(效率較低的氣泡排序)

for (int i = 0; i < number.length-1; i++)}}

//列印輸出從大到小排序後的數字順序

console.write("第二步:列印從大到小排序的數字順序");

for (int j = 0; j < number.length; j++)

console.writeline();

//合併排序後的最大數字

console.write("第三步:排序後的最大數字值");

for (int i = 0; i < number.length; i++)

console.writeline(maxnumber);

//將陣列中的數字從小到大排序(本質是交換,依賴上面第二步的排序)

for (int i = 0; i < number.length / 2; i++)

//列印輸出從小到大排序後的數字順序

console.write("第四步:列印從小到大排序的數字順序");

for (int j = 0; j < number.length; j++)

console.writeline();

//合併排序後的最小數字

console.write("第五步:排序後的最小數字值");

for (int i = 0; i < number.length; i++)

console.writeline(minnumber);

}while((initnumber=maxnumber-minnumber)!=6174);

//結果判斷,進行結論輸出

if(flag)

是6174數字",startnumber);

}else檢測仍然不能判斷是6174數字",count,startnumber);

}console.readkey();}}

}

執行結果圖:

事實上如果四位數的每一位的數字都一樣是無法構成魔法特性數字。因為其構成的最大數和最小數之差永遠等於0。

不過這是人為的干擾得出這樣的判斷,如果通過計算機來運算,我們只能給運算次數新增乙個閥值,不然只有進入死迴圈了。

記錄 C 程式設計魔法數字6174

乙個四位數的魔法數字。描述 第一步 乙個四位數拆分每一位,成四個數字 第二步 用第一步拆分的四個數子組成乙個最大四位數和乙個最小四位數 第三步 用第二步中的最大數減去最小數,之差等於6174則第一步原始四位數是魔法數字 否則將差進行第一步操作,依次迴圈,當迴圈15次之後不再迴圈。created by...

關於魔法數值 魔法數字 魔法值

其實這幾個詞代表的是乙個意思,只是不同的叫法,所謂魔法數值是指在 中直接出現的數值,只有在這個數值記述的那部分 中才能明確了解其含義。而在程式設計領域指的是莫名其妙出現的數字,數字的意義必須通過詳細閱讀才能推斷出來。一般魔法數字都是需要使用列舉變數來替換的 魔法數值使 的可讀性大大下降。而且,如果同...

魔法數字 problem Bfs搜尋

魔法數字 a.pas c cpp 時間限制 1.0s,空間限制131072 kb 題目描述 給乙個六位數a 和另外乙個六位數b.你有一根魔法棒,初始時指向a 的最左邊數字,每一次你可以選擇下列操作 之一 1.將當前魔杖指向的數字與最左端的乙個數字調換位置。2.將當前魔杖指向的數字與最右端的乙個數字調...