吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用C語言驗證“6174數學黑洞之謎”

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2020-12-24 16:37 ? 次閱讀

6174數學黑洞,即卡普雷卡爾(Kaprekar)常數。 任選4個不完全相同的數字(像1111就不行),讓“最大排列”減“最小排列”(例如8753-3578),不斷重復這個動作,最后一定會得到相同的結果:6174。 神奇的是:這個“最大減最小”的動作,最多不會超過7次! 我們先來看看五組實驗結果↓↓
請輸入一個互不相同的四位數:3758
輸入的四位數是:3758
第1次:8753 - 3578 = 5175
第2次:7551 - 1557 = 5994
第3次:9954 - 4599 = 5355
第4次:5553 - 3555 = 1998
第5次:9981 - 1899 = 8082
第6次:8820- 288 = 8532
第7次:8532 - 2358 = 6174
經過了7次最大減最小的動作
請輸入一個互不相同的四位數:2517
輸入的四位數是:2517
第1次:7521 - 1257 = 6264
第2次:6642 - 2466 = 4176
第3次:7641 - 1467 = 6174
經過了3次最大減最小的動作
請輸入一個互不相同的四位數:6915
輸入的四位數是:6915
第1次:9651 - 1569 = 8082
第2次:8820- 288 = 8532
第3次:8532 - 2358 = 6174
經過了3次最大減最小的動作
請輸入一個互不相同的四位數:9073
輸入的四位數是:9073
第1次:9730- 379 = 9351
第2次:9531 - 1359 = 8172
第3次:8721 - 1278 = 7443
第4次:7443 - 3447 = 3996
第5次:9963 - 3699 = 6264
第6次:6642 - 2466 = 4176
第7次:7641 - 1467 = 6174
經過了7次最大減最小的動作
請輸入一個互不相同的四位數:5287
輸入的四位數是:5287
第1次:8752 - 2578 = 6174
經過了1次最大減最小的動作

接下來,我們用C語言代碼進行驗證,代碼實現如下。

代碼實現

#include

intconvert(intnumber[],intans);
int*sort(intnumber[],intlen);

intmain(void)
{
intnumber[4]={0};
int*p=NULL;
intn=0;
intans=0;
intcount=0;
printf("請輸入一個互不相同的四位數:");
scanf("%d",&n);
printf("輸入的四位數是:%d
",n);
ans=n;
while(ans!=6174)
{
ans=convert(number,ans);
printf("第%d次:%d
",count+1,ans);
++count;
}
printf("經過了%d次最大減最小的動作
",count);
return0;
}

int*sort(intnumber[],intlen)//大到小的排序
{
inta=0;
for(inti=0;ifor(intj=i+1;jif(number[i]returnnumber;
}
intconvert(intnumber[],intans)//每次變換得到的數字
{
int*p=NULL;
intm=0;
number[0]=ans/1000;//把這個數放入數組
number[1]=ans%1000/100;
number[2]=ans%100/10;
number[3]=ans%10;
p=sort(number,4);
m=(*p*1000+*(p+1)*100+*(p+2)*10+*(p+3))-(*(p+3)*1000+*(p+2)*100+*(p+1)*10+*p);//最大數字減去最小數字
returnm;
}

運行結果:

責任編輯:xj

原文標題:用C語言驗證“6174數學黑洞之謎”?

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137724
  • 數學
    +關注

    關注

    0

    文章

    99

    瀏覽量

    19297

原文標題:用C語言驗證“6174數學黑洞之謎”?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言程序設計教程第4版第8講:指針

    C語言指針講解
    發表于 11-20 14:10 ?0次下載

    C語言指針學習筆記

    本文從底層內存分析,徹底讓讀者明白C語言指針的本質。
    的頭像 發表于 11-05 17:40 ?306次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學習筆記

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網絡編程的基礎。通過使用socket,程序可以發送和接收數據,實現不同計算機之間的通信
    的頭像 發表于 11-01 16:51 ?473次閱讀

    C語言C++中結構體的區別

    同樣是結構體,看看在C語言C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?356次閱讀

    C語言與Java語言的對比

    C語言和Java語言都是當前編程領域中的重要成員,它們各自具有獨特的優勢和特點,適用于不同的應用場景。以下將從語法特性、內存管理、跨平臺性、性能、應用領域等多個方面對C
    的頭像 發表于 10-29 17:31 ?438次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級編程的首選語言之一。
    的頭像 發表于 10-29 17:30 ?368次閱讀

    C語言關鍵字--typedef

    C語言關鍵字使用方法學習指南!
    的頭像 發表于 10-07 12:44 ?343次閱讀

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?7次下載

    何用java語言開發一套數字化產科系統? 數字化產科管理平臺源碼

    何用java語言開發一套數字化產科系統 數字化產科管理平臺源碼
    的頭像 發表于 07-06 09:38 ?1069次閱讀
    如<b class='flag-5'>何用</b>java<b class='flag-5'>語言</b>開發一套數字化產科系統? 數字化產科管理平臺源碼

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領域,C語言被譽為一種強大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務,還能夠為你的職業生涯打下堅實的基礎。但
    的頭像 發表于 07-06 08:04 ?360次閱讀
    按照這樣學習<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王不是夢!

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區別。本文將從多個維度深入探討PLC編程
    的頭像 發表于 06-14 17:11 ?3237次閱讀

    何用C語言實現高效查找(二分法)

    今天給分享一下使用C語言實現二分算法,主要包含以下幾部分內容:二分查找算法介紹二分查找算法使用場景二分查找算法代碼實現二分查找算法實現過程用C語言實現二分法查找二分查找也稱折半查找
    的頭像 發表于 06-04 08:04 ?1260次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>實現高效查找(二分法)

    C語言基礎-為什么要使用C

    當今最流行的 Linux 操作系統和 RDBMS(Relational Database Management System:關系數據庫管理系統) MySQL 都是使用 C 語言編寫的。
    發表于 03-25 11:20 ?489次閱讀

    嵌入式系統中C語言結構體的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。
    發表于 03-12 14:29 ?560次閱讀
    嵌入式系統中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結構體的基礎實現與應用

    C語言#define的應用

    C/C++ 編程語言中,當程序被編譯時,被發送到編譯器,編譯器將程序轉換為機器語言,然后完成編譯并執行該程序。預處理器也稱為宏預處理器。
    發表于 03-06 11:29 ?426次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應用
    缅甸百家乐官网赌博有假吗| 加州百家乐官网的玩法技巧和规则| 百家乐神仙道礼包| 威尼斯人娱乐城地址| 百家乐官网分析软件下| 博彩通百家乐概率| 娱乐城官方网| 五星百家乐官网的玩法技巧和规则| 免费百家乐统计| 真人百家乐官网作假视频| 百家乐程序软件| 在线百家乐官网代理| 百家乐怎么赢对子| 体球网| 24个招财方法| 博彩优惠| 小孟百家乐官网的玩法技巧和规则| 百家乐正品| 百家乐官网稳赢技法| 百盛百家乐的玩法技巧和规则| 百家乐官网哪家有优惠| 新澳门百家乐软件下载| 邓州市| 百家乐等投注网改单| 新宝百家乐官网网址| 百家乐技巧-百家乐开户指定代理网址| 沛县| 百家乐澳门技巧| 百家乐官网游戏台| 广州百家乐娱乐场开户注册| 金臂百家乐官网注册送彩金| 新濠百家乐的玩法技巧和规则| 金沙百家乐官网现金网| 百家乐赌场详解| 百家乐官网博彩技巧视频| 百家乐官网站| 百家乐官网赌博论坛| 大发888检测技能| 百家乐新台第二局| 邮箱| 御匾会百家乐的玩法技巧和规则 |