Бұл жұмбақ Интернетте тез тарады. Мыңдаған адамдар сиқырлы алаңның қалай жұмыс істейтінін қызықтыра бастады. Бүгін сіз жауап табасыз!

Сиқырлы алаңның құпиясы

Шындығында, бұл жұмбақ өте қарапайым және адамның назарын аударуды күтумен жасалған. Сиқырлы қара шаршының нақты мысалмен қалай жұмыс істейтінін түсінейік:

  1. 10-нан 19-ға дейінгі кез келген санды ойлап көрейік.Енді осы саннан оның құрамдас цифрларын шегерейік. Мысалы, 11-ді алайық. 11-ден бір бірлік, ал одан кейін тағы бір бірлік азайтайық. Ол 9 шығады.Негізі 10-нан 19-ға дейінгі қай санды алғаныңыз маңызды емес. Есептеулердің нәтижесі әрқашан 9 болады. «Сиқырлы шаршыдағы» 9 саны суреттері бар бірінші санға сәйкес келеді. Мұқият қарасаңыз, бірдей сандар өте көп сандарға тағайындалғанын көре аласыз.
  2. 20 мен 29 арасындағы санды алсаңыз не болады? Мүмкін сіз оны әлдеқашан болжаған шығарсыз? Дұрыс! Есептеулер нәтижесі әрқашан 18 болады. 18 саны суреттері бар диагоналдағы екінші орынға сәйкес келеді.
  3. Егер сіз 30-дан 39-ға дейінгі санды алсаңыз, сіз болжап отырғандай, 27 саны шығады.27 саны да осындай түсініксіз «Сиқырлы шаршының» диагоналындағы санға сәйкес келеді.
  4. Ұқсас алгоритм 40-тан 49-ға дейін, 50-ден 59-ға дейін және т.б. кез келген сандар үшін дұрыс болып қалады.

Яғни, сіз қандай санды тапқаныңыз маңызды емес - «Сиқырлы шаршы» нәтижені болжайды, өйткені 9, 18, 27, 36, 45, 54, 63, 72 және 81 ұяшықтарында шын мәнінде, бірдей таңба бар.

Шын мәнінде, бұл басқатырғышты қарапайым теңдеумен оңай түсіндіруге болады:

  1. Кез келген екі таңбалы санды елестетіңіз. Санға қарамастан, оны x*10+y түрінде көрсетуге болады. Ондықтар «х», ал бірліктер «у» қызметін атқарады.
  2. Жасырын саннан оны құрайтын сандарды алып тастаңыз. Теңдеуді қосыңыз: (x*10+y)-(x+y)=9*x.
  3. Есептеулер нәтижесінде шыққан сан кестедегі белгілі бір таңбаны көрсетуі керек.

«Х» рөлінде қандай цифр болатыны маңызды емес, бір жолмен сіз саны тоғызға еселік болатын таңбаны аласыз. Әртүрлі сандардың астында бір таңба бар екеніне көз жеткізу үшін кестеге және 0,9,18,27,45,54,63,72,81 және келесі сандарға қараңыз.

«Сиқырлы алаң» ойынының құпиясы

Сіз бір жерден «сиқырлы шаршы» деген сөзді естігеніңізге сенімдімін. Бұл «тайпаның» бірнеше өкілдерін білеміз. Интернетте ең көп таралған және жиі кездесетіні - бұл «Сиқырлы шаршы» ойыны. Оның мәні сіздің назарыңызды «ойларды болжауға» қабілетті үстелге (бұл «сиқырлы шаршы») шақырылуында. Әрине, кез келген ойын сияқты оның белгілі бір ережелері бар. Кез келген екі таңбалы санды ойлап, одан осы санның цифрларынан тұратын қосындыны алып тастау керек. Кестеден алынған мәнді оған сәйкес таңбамен бірге табыңыз. Және бұл символ шаршыны болжайды. Ойын күлкілі және бір қарағанда, шынымен сиқырлы, өйткені сіз бастапқыда қандай санды ойласаңыз да, шаршы әрқашан символды болжайды. Бұл қалай жұмыс істейді? «Сиқырлы шаршы» қалай жұмыс істейді? Шын мәнінде, жауап бетінде жатыр. Егер сіз шаршыны қатарынан бірнеше рет тексерсеңіз, бір таңбаның үнемі түсіп тұратынын байқайсыз. Кестеге мұқият қарасақ, бұл таңба көлденең орналасқан және ол 9-ға қалдықсыз бөлінетін сандарға сәйкес келеді.Бірақ сіз қандай екі таңбалы санды таңдасаңыз да, сіздің жауабыңызда тек солар ғана алынады. «Сиқырлы шаршыны» әшкере еттік деп айта аламыз. Оның құпиясы ойын жағдайында емес, оның өзінде. «Егер кез келген екі таңбалы саннан оның цифрларының қосындысын алып тастасаңыз, 9-ға қалдықсыз бөлінетін сан шығады» деген даусыз шындық бар. Сонымен біз «сиқырлы шаршының» қалай жұмыс істейтінін анықтадық. Мистицизмнің бір унциясы емес! Негізінде, сандарға қатысты барлық нәрсе сиқырға емес, есептеулер мен үлгілерге негізделген.

Сиқырлы шаршының құпиясы:

7 т41 к86 h21 n33 w1 б35 r61 б12 w90 а
15 h23 z57 v55 q71 d66 h78 g14 q81 а 10 т
88 d59 j74 n69 б68 м38 мен22 м72 а 3 v58 м
62 л77 м40 в98 u20 с94 м63 а 87 т99 м37 x
92 с96 g51 f73 e46 мен54 а 53 с44 h43 к2 d
34 о31 e91 т19 мен45 а 50 к85 v28 с38 л75 v
79 h8 в11 с36 а 16 f24 z4 q67 м6 f48 о
17 б65 w27 а 42 б89 e39 с95 x32 f25 d26 h
29 в18 а 82 к60 о93 r83 ж52 к56 б53 мен30 ж
9 а 80 q47 d84 л5 g13 x70 d49 g76 в64 e

Альбрехт Дюрердің сиқырлы алаңы

Кейде сандық үлгілер соншалықты керемет пропорцияларға ие болады, бұл жерде сиқыршылық жасалмаған сияқты. Мәселен, тағы бір «сиқырлы шаршы» белгілі - Альбрехт Дюрер. Математикада ол жолдар мен бағандар саны бірдей, натурал сандармен толтырылған шаршы кесте деп түсініледі. Сонымен қатар, бұл сандардың көлденең, тігінен немесе диагональ бойынша қосындысы бірдей нәтижеге тең болуы керек. Сиқырлы алаң бізге Қытайдан келді, бүгін оны бәріміз білеміз жарқын өкілі- Судоку кроссворды. Еуропада «Меланхолия» гравюрасында «сиқырлы» фигураны алғаш рет суреттеген Дюрер болды. Бұл «сиқырлы шаршының» ерекшелігі неде? Оның негізінде гравюраның жарияланған жылына сәйкес келетін 15 және 14 сандарының тіркесімі бар. Ал сандардың қосындысы тек диагональ, тік және көлденең жолдардан ғана емес, сонымен қатар шаршының бұрыштарында, орталық шағын шаршыда және оның бүйірлеріндегі төрт ұяшықты шаршылардың әрқайсысында орналасқан сандардан тұрады. . Бұл сандар тағдырды болжамайды және ойларды болжамайды, олар өз үлгілері бойынша ерекше.

Пифагор алаңы

Егер біз болжауға жүгінсек, онда бұл жерде де өкіл бар - Пифагордың «сиқырлы алаңы». Бұл атауды бәрімізге геометрия сабағынан білеміз. Бірақ біздің заманымызда ғана бұл адам математик және философ деп атала бастады. Ертеде ол даналық ұстаз ретінде танылып, ол туралы өлеңдер айтылып, одатар айтылады, оған табынған, көріпкел саналған. Пифагор жаңа ғылымның негізін қалады - нумерология, бұрынғы уақытта ол дін ретінде қабылданды.

Ол сандар кез келген құбылысты, соның ішінде адамның тағдырын анықтауды, оның мінезін, таланты мен әлсіз жақтарын айтуды түсіндіре алады деп сенді. Мұны Пифагор шаршысының көмегімен жасауға болады. «Сиқырлы шаршы» қалай жұмыс істейді және ол не? Пифагордың сиқырлы квадраты 3/3 шаршы (жолдар, бағандар) болып табылады, оған 1-ден 9-ға дейінгі сандар енгізіледі.Болжам жасау үшін негіз ретінде адамның туған күні алынады. Есептерде «0» пайда болмауы маңызды. Қарапайым есептеулер мен формулалардың көмегімен сандар жиынтығы алынады, олар кейіннен шаршыға енгізілуі керек. Әрбір санның өзіндік мәні бар және белгілі бір қасиетке жауап береді. Сонымен, 4 - денсаулыққа, ал 9 - ақылға «жауапты». Сіздің шаршыда бірдей санның қанша рет кездесетініне байланысты сіз бір немесе басқа мүліктің басымдылығы туралы айта аласыз. Мәселен, 4-тің болмауы физикалық әлсіздік пен аурудың көрсеткіші, ал 444 - денсаулық пен көңілділіктің көрсеткіші. Пифагор алаңы қаншалықты дұрыс, оны кез келген болжау ретінде айту қиын. Бірақ қазір сиқырлы шаршының қалай жұмыс істейтінін біле отырып, сіз достарыңыз бен таныстарыңыздың кейіпкерлерін есептей отырып, кем дегенде бір-екі сағатты жағымды өткізе аласыз.

«Магнит» байлыққа, денсаулыққа және басқаларға...

Пифагор байлық энергиясын «тартуға» қабілетті сиқырлы шаршы жасады.

Айтпақшы, Генри Фордтың өзі Пифагор алаңын пайдаланды.
Ол оны долларлық купюраға түсіріп, оны әрқашан әмиянының құпия бөлімінде сүйкімділік ретінде алып жүрді.
Өздеріңіз білетіндей, Форд кедейлікке шағымданбады. 83 жасында Генри корпорацияның тізгінін және 1 миллиард доллар (инфляцияны есепке алғанда – ағымдағы бағамен 36 миллиардтан астам) қомақты байлығын немерелеріне табыстады.

*** *** *** *** ***

Шаршыға ерекше түрде жазылған сандар тек байлықты тарта алмайды.

Мысалы, ұлы дәрігер Парацельс өзінің алаңын - «денсаулық бойтұмары» жасады.

Жалпы, егер сіз сиқырлы шаршыны дұрыс құрастырсаңыз, сізге қажетті энергия ағындарын өмірге әкеле аласыз.

Жеке бойтұмарды қалай жасауға боладыПифагордың сиқырлы квадраты мен сіз сандарды жазып, онға дейін санай аласыз деп үміттенемін бе?

Содан кейін алға. Біз сіздің жеке бойтұмарыңыз бола алатын энергетикалық шаршыны саламыз.

Оның үш бағанасы және үш жолы бар. Жеке нумерологиялық кодты құрайтын тек тоғыз цифр бар.

Бұл кодты қалай есептеу керек?

Бірінші қатарға қойыңыз үш сан:

* сіздің нөміріңіз туған күні,
*туған айы
* туған жылы.

Мысалы, сіз 1971 жылы 25 мамырда дүниеге келгенсіз. Сонда сіздің бірінші саныңыз күннің саны болады: 25. Бұл күрделі сан, нумерология заңдары бойынша оны 2 және 5 сандарын қосу арқылы қарапайымға дейін азайту керек. Бұл - 7 болып шығады: біз жетеуін алаңның бірінші ұяшығына қойыңыз.

Екіншісі - айдың саны: 5, өйткені мамыр - бесінші ай. Назар аударыңыз: егер адам желтоқсанда, яғни 12-ші айда туылған болса, біз бұл санды қарапайымға дейін азайтуымыз керек: 1 + 2 = 3.

Үшіншісі – жыл саны. Мұнда барлығына қарапайымға дейін қысқартуға тура келеді. Сонымен: 1971 (туған жылы) құрама сандарға ыдырайды және олардың қосындысын есептейміз. 1+9+7+1 = 18, 1+8 =9.

Бірінші қатардағы сандарды енгіземіз: 7, 5, 9.

Екінші қатарға сандарды қоямыз:

* төртінші - сіздің атыңыз,
* бесінші – әкесінің аты,
* алтыншы – фамилиялар.

Оларды әріптік-сандық сәйкестіктер кестесі бойынша анықтаймыз.


Оны басшылыққа ала отырып, сіз атыңыздың әрбір әрпінің сандық мәндерін қосасыз, қажет болса, қосындыны жай санға келтіріңіз.

Сол сияқты біз де әкесінің аты мен тегімен әрекет етеміз.

Мысалы, Моль= 3+9+7+2+7+3=31=3+1=4

Енді бізде энергетикалық квадраттың екінші сызығы үшін үш сан бар.

Үшінші қатар

Үшінші қатарды толтыру, жетінші, сегізінші және тоғызыншы сандарды табу үшін астрологияға жүгіну керек.

Жетінші сансіздің зодиак белгісінің нөмірі болып табылады.

Мұнда бәрі қарапайым. Овен – бірінші белгі, ол 1 санына сәйкес келеді. Балықтар – он екінші белгі, олар 12 санына сәйкес келеді.

Назар аударыңыз: бұл жағдайда екі таңбалы сандарды қарапайым сандарға келтіруге болмайды, 10, 11 және 12 сандарының өзіндік мағынасы бар!

Сегізінші сан- Шығыс күнтізбесі бойынша белгіңіздің нөмірі. Оны төмендегі кестеден табу оңай:

Яғни, егер сіз 1974 жылы туылған болсаңыз, сіздің белгі нөміріңіз 3 (Жолбарыс), ал 1982 жылы болса - 11 (Ит).

Тоғызыншы сан- қалауыңыздың нумерологиялық коды.

Мысалы, сіз денсаулық үшін энергия аласыз. Сонымен, негізгі сөз «денсаулық». Бірінші кестеге сәйкес әріптерді қайтадан қосамыз:

Z - 9, D - 5, O - 7, P - 9, O - 7, B - 3, b - 3, E - 6 \u003d 49, яғни 4 + 9 \u003d 13. Біз қайтадан күрделі санды алғандықтан, азайтуды жалғастырамыз: 1 + 3 = 4

Есіңізде болсын: егер сізде 10, 11 және 12 сандары болса, онда бұл жағдайда оларды азайтуға болмайды.

Егер сізде ақша жеткіліксіз болса, онда сіз «байлық», «ақша» немесе нақты «доллар», «еуро» сөздерінің мағынасын есептей аласыз.

Сонымен, сіздің сиқырлы шаршыдағы соңғы тоғызыншы сан сан болады - кілт сөзіңіздің нумерологиялық мәні немесе басқаша айтқанда, тілек коды.

Өзіңіздің «шаршы» медитацияңызды орындаңыз

Ал енді сиқырлы шаршыға тоғыз санды үш саннан үш қатарға орналастырайық.

Сызылған шаршыны жақтауға және үйде немесе кеңседе іліп қоюға болады.

Ал сіз оны әкеңізге салып, көзге көрінбейтін етіп қоюға болады. Ішкі дауысыңызды тыңдаңыз, ол сізге не дұрыс екенін айтады.

Бірақ бұл бәрі емес. Жеке нумерологиялық кодыңыздың сандарын ұяшықтардағы ретімен біліңіз.

Не үшін? Бұл сіздің жеке мантраңыз, Құдайға тікелей жолыңыз, егер қаласаңыз. Ол сізді Әлемдегі алуан түрлі күштердің қажетті ағынына реттейді, ал екінші жағынан, олар сізді естиді және тербелістерге жауап береді.

Сондықтан сіз өзіңіздің мантраңызды жатқа білуіңіз керек. Және медитацияға.

Нумерологиялық кодты ойша қайталай отырып, ыңғайлы орындыққа отырыңыз немесе диванға жатыңыз. босаңсыңыз Қуат алып жатқандай, алақаныңызды жоғары көтеріңіз. Біраз уақыттан кейін сіз саусақтарыңызда қышу сезімін сезінесіз, діріл, мүмкін жылу немесе керісінше, алақанда салқын.

Өте жақсы: энергия кетті! Медитация сіз оны тоқтатқыңыз келгенше, тұру қажет болғанша немесе ... сіз ұйықтамайынша созылады.

Сиқырлы шаршыда бүтін сандар олардың көлденең, тік және диагональ бойынша қосындысы сиқырлы тұрақты деп аталатын бірдей санға тең болатындай етіп таратылады.

Әлем мәдениеттеріндегі сиқырлы алаң

Сиқырлы шаршының мысалы Ло Шу, ол 3-тен 3-ке тең кесте.Онда 1-ден 9-ға дейінгі сандар әрбір жол мен диагональ 15-ке дейін қосылатындай етіп жазылған.

Бір қытай аңызында бір күні су тасқыны кезінде патшаның суды теңізге бұратын канал салуға тырысқаны айтылады. Кенет Ло өзенінен қабығында біртүрлі өрнекті тасбақа пайда болды. Бұл төртбұрыштарға 1-ден 9-ға дейінгі сандар жазылған тор болды.Квадраттың әр жағындағы, сонымен қатар диагональ бойынша да сандардың қосындысы 15 болды.Бұл сан 24 циклдің әрқайсысындағы күндер санына сәйкес келді. Қытайдың күн жылы.

Луо Шу алаңы Сатурнның сиқырлы алаңы деп те аталады. Осы шаршының төменгі қатарында ортасында 1 саны, ал жоғарғы оң жақ ұяшықта 2 саны.

Сиқырлы алаң басқа мәдениеттерде де бар: парсы, араб, үнді, еуропалық. Оны 1514 жылы неміс суретшісі Альбрехт Дюрер өзінің «Меланхолия» гравюрасында түсірген.

Дюрердің гравюрасындағы сиқырлы шаршы еуропалық көркем мәдениетте пайда болғандардың алғашқысы болып саналады.

Сиқырлы шаршыны қалай шешуге болады

Сиқырлы шаршыны әр жолдың қосындысы сиқырлы тұрақты болатындай етіп ұяшықтарды сандармен толтыру арқылы шешу керек. Сиқырлы шаршының жағы ұяшықтардың жұп немесе тақ санынан тұруы мүмкін. Ең танымал сиқырлы квадраттар тоғыз (3x3) немесе он алты (4x4) ұяшықтан тұрады. Сиқырлы шаршылар мен оларды шешудің көптеген нұсқалары бар.

Ұяшықтардың саны жұп болатын шаршыны қалай шешуге болады

Сізге 4х4 шаршы сызылған қағаз парағы, қарапайым қарындаш және өшіргіш қажет.

Жоғарғы сол жақ ұяшықтан бастап шаршының ұяшықтарына 1-ден 16-ға дейінгі сандарды енгізіңіз.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Бұл шаршының сиқырлы тұрақтысы 34. Диагональды сызықтағы сандарды 1-ден 16-ға ауыстырыңыз. Қарапайым болу үшін 16 мен 1-ді, содан кейін 6 мен 11-ді ауыстырыңыз. Нәтижесінде диагональдағы сандар 16, 11, 6, 1.

16 2 3 4
5 11 7 8
9 10 6 12
13 14 15 1

Екінші диагональды сызықтағы сандарды ауыстырыңыз. Бұл жол 4-тен басталып, 13-те аяқталады. Оларды ауыстырыңыз. Енді қалған екі санды ауыстырыңыз - 7 және 10. Жолда жоғарыдан төменге қарай сандар келесі ретпен орналасады: 13, 10, 7, 4.

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Әрбір жолдағы қосындыны санасаңыз, сіз 34 аласыз. Бұл әдіс ұяшықтардың саны жұп басқа квадраттармен жұмыс істейді.

Сиқырлы шаршылардың бірнеше түрлі классификациялары бар.

бесінші рет, оларды қандай да бір түрде жүйелеуге арналған. Кітапта

Мартин Гарднер [GM90, бет. 244-345] осы әдістердің бірін сипаттайды -

орталық алаңдағы нөмірге сәйкес. Әдіс қызықты, бірақ басқа ештеңе жоқ.

Алтыншы ретті қанша квадрат бар екені әлі белгісіз, бірақ шамамен 1,77 x 1019. Сан өте үлкен, сондықтан оларды жан-жақты іздеу арқылы санауға үміт жоқ, бірақ ешкім сиқырлы квадраттарды есептеу формуласын таба алмады.

Сиқырлы шаршыны қалай жасауға болады?

Сиқырлы шаршыларды салудың көптеген жолдары бар. Сиқырлы шаршыларды жасаудың ең оңай жолы біртүрлі тәртіп. 17 ғасырдағы француз ғалымы ұсынған әдісті қолданамыз A. de la Louber (De La Loubère).Ол бес ережеге негізделген, оның әрекетін біз ең қарапайым сиқырлы шаршы 3 x 3 ұяшықта қарастырамыз.

Ереже 1. Бірінші жолдың ортаңғы бағанына 1 қойыңыз (5.7-сурет).

Күріш. 5.7. Бірінші сан

2-ереже. Келесі санды, мүмкіндігінше, ағымдағы санға іргелес ұяшыққа диагональ бойынша оңға және жоғарыға қойыңыз (5.8-сурет).

Күріш. 5.8. Екінші нөмірді қоюға тырысады

Ереже 3. Егер жаңа ұяшық жоғарыдағы шаршыдан асып кетсе, онда санды ең төменгі жолға және келесі бағанға жазыңыз (5.9-сурет).

Күріш. 5.9. Екінші санды қоямыз

4-ереже. Егер ұяшық оң жақтағы шаршыдан асып кетсе, онда ең бірінші бағанға және алдыңғы жолға санды жазыңыз (5.10-сурет).

Күріш. 5.10. Үшінші санды қоямыз

Ереже 5. Егер ұяшық әлдеқашан бос болса, онда ағымдағы ұяшықтың астына келесі санды жазыңыз (5.11-сурет).

Күріш. 5.11. Төртінші санды қоямыз

Күріш. 5.12. Бесінші және алтыншы сандарды қоямыз

Бүкіл шаршыны аяқтағанша 3, 4, 5 ережелерін қайта орындаңыз (Cурет 2).

Бұл дұрыс емес пе, ережелер өте қарапайым және түсінікті, бірақ тіпті 9 сандарды ретке келтіру әлі де әбден жалықтырады. Дегенмен, сиқырлы квадраттарды құру алгоритмін біле отырып, біз өзімізге тек шығармашылық жұмысты, яғни бағдарлама жазуды қалдырып, барлық күнделікті жұмыстарды компьютерге оңай сеніп тапсыра аламыз.

Күріш. 5.13. Шаршыны келесі сандармен толтырыңыз

Сиқырлы шаршылар жобасы (Сиқырлы)

Бағдарламаға арналған өрістер жинағы сиқырлы шаршыларөте айқын:

// ҰРПАҚ ҮШІН БАҒДАРЛАМАСЫ

// ТАҚ сиқырлы шаршы

// ДЕ ЛА ЛУБЕРТ ӘДІСІ БОЙЫНША

жалпыға ортақ жартылай сынып Form1 : Пішін

//Макс. шаршы өлшемдері: const int MAX_SIZE = 27; //var

intn=0; // шаршы реті int [,] mq; // сиқырлы шаршы

int саны=0; // ағымдағы санды шаршыға

intcol=0; // ағымдағы баған int row=0; // ағымдағы жол

Де ла Лубер әдісі кез келген өлшемдегі тақ квадраттарды жасауға жарамды, сондықтан біз пайдаланушыға шаршы ретін таңдауға мүмкіндік бере аламыз, сонымен бірге таңдау еркіндігін 27 ұяшыққа дейін шектейміз.

Пайдаланушы қалаған түймені басқаннан кейін btnGen Generate! , btnGen_Click әдісі сандарды сақтау үшін массив жасайды және генерация әдісіне өтеді:

// «ЖАСАУ» ТҮЙМЕСІН БАСЫҢЫЗ

private void btnGen_Click(нысан жіберуші, EventArgs e)

//шаршы реті:

n = (int)udNum.Value;

// массив құру:

mq = new int;

//сиқырлы квадрат құру: generate();

lstRes.TopIndex = lstRes.Items.Count-27;

Мұнда біз де ла Лубер ережелеріне сәйкес әрекет ете бастаймыз және шаршының бірінші жолының ортаңғы ұяшығына бірінші санды - бірді жазамыз (немесе қаласаңыз, массив):

//Сиқырлы квадрат бос орын құру()(

//бірінші сан: сан=1;

//бірінші санға арналған баған – ортасы: col = n / 2 + 1;

//бірінші санға арналған жол – біріншісі: row=1;

//квадрат оны: mq= сан;

Енді біз ұяшықтардағы қалған ұяшықтарды дәйекті түрде қосамыз - екіден n * n-ге дейін:

// келесі нөмірге көшу:

Біз нақты ұяшықтың координаттарын есте сақтаймыз

int tc=col; int tr = жол;

және келесі ұяшыққа диагональ бойынша жылжытыңыз:

Үшінші ереженің орындалуын тексереміз:

егер (қатар< 1) row= n;

Сосын төртінші:

if (col > n) ( col=1;

3 ережеге өту;

Ал бесінші:

егер (mq != 0) ( col=tc;

жол=tr+1; 3 ережеге өту;

Шаршы ұяшығында сан бар екенін қайдан білеміз? - Өте қарапайым: біз барлық ұяшықтарға нөлдерді мұқият жаздық, ал дайын шаршыдағы сандар нөлден үлкен. Сонымен, массив элементінің мәні бойынша ұяшықтың бос немесе әлдеқашан сан бар екенін бірден анықтаймыз! Мұнда келесі сан үшін ұяшықты іздеу алдында есте қалған ұяшықтардың координаталары қажет екенін ескеріңіз.

Ерте ме, кеш пе, біз нөмірге сәйкес ұяшықты тауып, оны тиісті массив ұяшығына жазамыз:

//оны квадратпен алу: mq = сан;

көшудің рұқсат етілгендігін тексеруді ұйымдастырудың басқа әдісін қолданып көріңіз

уау ұяшық!

Егер бұл нөмір соңғы болса, онда бағдарлама өз міндеттемелерін орындады, әйтпесе ол ұяшықты келесі нөмірмен қамтамасыз етуге өз еркімен кіріседі:

//егер барлық сандар орнатылмаса, онда (сан< n*n)

//келесі санға өту: келесі нөмірге өту;

Ал енді алаң дайын! Біз оның сиқырлы сомасын есептеп, экранға басып шығарамыз:

) //жасау()

Массив элементтерін басып шығару өте қарапайым, бірақ әр түрлі «ұзындықтағы» сандарды теңестіруді ескеру маңызды, өйткені шаршыда бір, екі және үш таңбалы сандар болуы мүмкін:

//Сиқырлы шаршы бос writeMQ() басып шығару

lstRes.ForeColor = Түс .Қара;

string s = "Сиқырлы сома =" + (n*n*n+n)/2; lstRes.Items.Add(лар);

lstRes.Items.Add("" );

// сиқырлы шаршыны басып шығару: for (int i= 1; i<= n; ++i){

s="" ;

үшін (int j= 1; j<= n; ++j){

егер (n*n > 10 && mq< 10) s += " " ; if (n*n >100 && мкв< 100) s += " " ; s= s + mq + " " ;

lstRes.Items.Add(лар);

lstRes.Items.Add("" ); )//writeMQ()

Біз бағдарламаны іске қосамыз - квадраттар тез алынады және көзге қуаныш сыйлайды (Cурет 2).

Күріш. 5.14. Өте шаршы!

С.Гудманның, С.Хидетниемінің кітабындаАлгоритмдерді құру және талдаумен таныстыру

mov , 297-299 беттерде біз бірдей алгоритмді табамыз, бірақ «қысқартылған» презентацияда. Бұл біздің нұсқа сияқты «мөлдір» емес, бірақ ол дұрыс жұмыс істейді.

btnGen2 түймешігін қосу 2 жасау! және алгоритмді тілде жазыңыз

btnGen2_Click әдісіне C-sharp:

//Алгоритм ODDMS

private void btnGen2_Click(нысан жіберуші, EventArgs e)

//шаршы реті: n = (int )udNum.Value;

// массив құру:

mq = new int;

//сиқырлы квадрат құру: int row = 1;

int col = (n+1)/2;

үшін (int i = 1; i<= n * n; ++i)

mq = i; егер (i % n == 0)

егер (жол == 1) жол = n;

егер (col == n) col = 1;

//шаршы аяқталды: writeMQ();

lstRes.TopIndex = lstRes.Items.Count - 27;

Біз түймені басып, «біздің» шаршылар пайда болғанына көз жеткіземіз (Cурет 1).

Күріш. 5.15. Ескі алгоритм жаңа кейіпте


жабық