CODESYS 瀹炴垬锛氭煡鎵捐嚜鎭嬫暟-CODESYS璧勬簮涓嬭浇鍖-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 15|鍥炲: 0

CODESYS 瀹炴垬锛氭煡鎵捐嚜鎭嬫暟

[澶嶅埗閾炬帴]
  • TA鐨勬瘡鏃ュ績鎯
    寮蹇
    2017-11-20 22:07
  • 绛惧埌澶╂暟: 2 澶

    [LV.1]鍒濇潵涔嶅埌

    鍙戣〃浜 11 灏忔椂鍓 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡

    寮曡█

    缁撴瀯鍖栨枃鏈紙ST锛夎瑷鍥犲叾绫讳技楂樼骇缂栫▼璇█鐨勮娉曪紝鍦ㄥ伐涓氳嚜鍔ㄥ寲涓骞挎硾浣跨敤銆傛湰鏂囬氳繃涓涓煡鎵鹃樋濮嗘柉鐗规湕鏁帮紙涔熺О涓鸿嚜鎭嬫暟锛夌殑妗堜緥锛屽府鍔╄鑰呭涔犲拰鐞嗚В ST 璇█鐨勫熀鏈粨鏋勫拰缂栫▼鎶宸с
    1  闂鎻忚堪
    濡傛灉涓涓暣鏁扮瓑浜庡叾鍚勪釜鏁板瓧鐨勭珛鏂瑰拰锛屽垯璇ユ暟绉颁负鈥滈樋濮嗘柉鐗规湕鏁扳濓紙涔熺О涓鸿嚜鎭嬫暟锛夈傚 153=1鲁+5鲁+3鲁 灏辨槸涓涓滈樋濮嗘柉鐗规湕鏁扳濄傜紪绋嬫眰 n 浠ュ唴鐨勬墍鏈夆滈樋濮嗘柉鐗规湕鏁扳濓紝骞跺偍瀛樸
    2  绋嬪簭璁捐鎬濊矾
    • 杈撳叆杈撳嚭鍙橀噺锛氬畾涔夎緭鍏ュ彉閲 n锛岃緭鍑哄彉閲 Count 鍜 ArmstrongArray銆
    • 鍒濆鍖栵細鍒濆鍖栬鏁板櫒鍜屽瓨鍌ㄦ暟缁勩
    • 涓诲惊鐜細閬嶅巻鑼冨洿鍐呯殑姣忎釜鏁板瓧锛岃绠楀叾鏁板瓧绔嬫柟鍜岋紝鍒ゆ柇鏄惁涓洪樋濮嗘柉鐗规湕鏁般
    • 瀛樺偍缁撴灉锛氬鏋滄壘鍒伴樋濮嗘柉鐗规湕鏁帮紝瀛樺偍鍦ㄦ暟缁勪腑骞舵洿鏂拌鏁板櫒銆
    3  绋嬪簭浠g爜

    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    FUNCTION_BLOCK PM_ArmstrongNumbers
    VAR_INPUT
      n : INT := 1000;                // 瀹氫箟鏈澶у n
    END_VAR
    VAR_OUTPUT
      Count : INT := 0;               // 闃垮鏂壒鏈楁暟鐨勮鏁
      ArmstrongArray : ARRAY[1..100] OF INT; // 瀛樺偍闃垮鏂壒鏈楁暟鐨勬暟缁
    END_VAR
    VAR
        j : INT;                        // 鍒濆鍖
        i : INT;                        // 寰幆璁℃暟鍣
        sum : INT;                      // 鐢ㄤ簬瀛樺偍鍚勪綅鏁板瓧鐨勭珛鏂瑰拰
        temp : INT;                     // 鐢ㄤ簬瀛樺偍褰撳墠鏁板瓧鐨勪复鏃跺
        digit : INT;                    // 褰撳墠浣嶆暟瀛
    END_VAR
    
    (*
    鐗堟湰璁板綍锛
    鐗堟湰          鏃ユ湡           浣滆
     V1         2024-10-12       宸ユ帶鑰佺帇
    *)
    
    // 鍒濆鍖栨暟缁
    Count := 0;
    FOR j := 1 TO 100 BY 1 DO
      ArmstrongArray[j] := 0;
    END_FOR
    
    // 涓诲惊鐜
    FOR i := 1 TO n DO
        sum := 0;                      // 閲嶇疆绔嬫柟鍜
        temp := i;                     // 涓存椂瀛樺偍褰撳墠鏁板瓧
    
        // 璁$畻姣忎釜鏁板瓧鐨勭珛鏂瑰拰
        WHILE temp > 0 DO
            digit := temp MOD 10;      // 鑾峰彇褰撳墠鏁板瓧鐨勬渶鍚庝竴浣
            sum := sum + (digit * digit * digit); // 璁$畻绔嬫柟鍜
            temp := temp / 10;         // 鍘绘帀鏈鍚庝竴浣嶆暟瀛
        END_WHILE;
    
        // 鍒ゆ柇鏄惁涓洪樋濮嗘柉鐗规湕鏁
        IF sum = i THEN
            Count := Count + 1;        // 澧炲姞璁℃暟
            ArmstrongArray[Count] := i; // 瀛樺偍闃垮鏂壒鏈楁暟
        END_IF;
    END_FOR;
    4  浠g爜瑙i噴
    鍙橀噺瀹氫箟涓庡垵濮嬪寲锛
    • n锛氬畾涔夋渶澶у笺
    • Count锛氱敤浜庤鏁版壘鍒扮殑闃垮鏂壒鏈楁暟銆
    • ArmstrongArray锛氬瓨鍌ㄦ壘鍒扮殑闃垮鏂壒鏈楁暟銆
    • 寰幆鍙橀噺 i 鍜 j锛屼复鏃跺彉閲 temp 鍜 digit銆
    涓诲惊鐜昏緫锛
    • 閬嶅巻浠 1 鍒 n 鐨勬墍鏈夋暟瀛椼
    • 浣跨敤 WHILE 寰幆璁$畻姣忎釜鏁板瓧鐨勫悇浣嶇珛鏂瑰拰銆
    • 妫鏌ョ珛鏂瑰拰鏄惁绛変簬鍘熸暟瀛楋紝鏄垯瀛樺偍璇ユ暟瀛椼
    娉ㄦ剰浜嬮」锛
    • 鏁扮粍 ArmstrongArray 鐨勫ぇ灏忛檺鍒朵负 100锛屽闇瀛樺偍鏇村闃垮鏂壒鏈楁暟锛岃鐩稿簲璋冩暣銆
    • 杈撳叆鍙橀噺 n 鐨勮寖鍥村簲鏍规嵁闇姹傚悎鐞嗚缃紝浠ラ槻姝㈣绠楄繃澶氬鑷存ц兘闂銆
    5  杩愯缁撴灉
    绋嬪簭杩愯鍚庯紝ArmstrongArray 灏嗗寘鍚墍鏈夊湪 1 鍒 n 鑼冨洿鍐呯殑闃垮鏂壒鏈楁暟锛岃 Count 灏嗚〃绀烘壘鍒扮殑鏁伴噺銆

    640?wx_fmt=png&from=appmsg.jpg

    640?wx_fmt=png&from=appmsg.jpg
    6  寮婧愮増鏈鏄
    璇ョ▼搴忛伒寰紑婧愬師鍒欙紝浠讳綍浜洪兘鍙互浣跨敤銆佷慨鏀瑰拰鍒嗗彂姝や唬鐮併傚湪浣跨敤鍓嶅簲杩涜鍏呭垎鐨勬祴璇曪紝淇敼浠g爜鏃讹紝璇风鎸佸垎浜簿绁烇紝灏嗘偍鐨勬敼杩涘拰鎴愭灉杩涜鍒嗕韩锛屼互渚挎洿澶氫汉鍙楃泭銆

    鎬荤粨

    閫氳繃杩欎釜妗堜緥锛岃鑰呭彲浠ュ涔犲浣曚娇鐢 ST 璇█缂栧啓寰幆銆佹潯浠跺垽鏂互鍙婃暟缁勬搷浣滅瓑鍩烘湰缂栫▼鎶宸с傝鎶鏈笉浠呴傜敤浜庨樋濮嗘柉鐗规湕鏁扮殑鏌ユ壘锛岃繕鍙互鎵╁睍鍒板叾浠栫被浼肩殑鏁板艰绠楀満鏅紝涓哄伐涓氳嚜鍔ㄥ寲缂栫▼鎻愪緵浜嗘湁鍔涙敮鎸併

    +10
    涓嶈禐涓涓紵
    鎵撹祻榧撳姳涓涓嬶紒
    鍥炲

    浣跨敤閬撳叿 涓炬姤

    鎮ㄩ渶瑕佺櫥褰曞悗鎵嶅彲浠ュ洖甯 鐧诲綍 | 绔嬪嵆娉ㄥ唽 鏂版氮寰崥鐧婚檰

    鏈増绉垎瑙勫垯

    椤堕儴qrcode搴曢儴
    鍏虫敞閰峰痉缃戣闃呭彿锛岃幏鍙栨洿澶氳祫璁紒

    QQ|灏忛粦灞|鎵嬫満鐗|Archiver|閰峰痉璁哄潧 ( 鑻廔CP澶16065247鍙-1 )|缃戠珯鍦板浘

    GMT+8, 2025-3-14 20:26 , Processed in 0.160092 second(s), 63 queries .

    閰峰痉缃

    © 2001-2013 Hicodesys. 鎶鏈敮鎸 by 閰峰痉缃

    蹇熷洖澶 杩斿洖椤堕儴 杩斿洖鍒楄〃