Фрик & Трик Алгоритми

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Незнам дали ова заслужува посебна тема, ама во последно време хит ми станаа програмчињата со математички „трик“ алгоритми па се одлучив да отворам нова тема, па модераторот нека и ја суди иднината на темава. :)
__

Значи се работи за имплементирање на математички трик алгоритми во апликација, меѓутоа сето тоа симулирано како некое дејствие со цел трикот да има поинтересен ефект и да не неможе туку така лесно да биде сватен од страна на „корисниците“.

Доколку некој има вакви трик алгоритми и доколку би сакал да ги сподели, нека повели... Исто така доколку некој знае каде би можеле да се најдат вакви математички трик алгоритми, ако не му е мука да пише линк или име на тие алгоритми.

Еве од мене имплементирање на алгоритмот „броеви деливи со 9“.
Апликацијата ја пишав и во Python и JavaScript.

Python:
Код:
import random

ch = "!@#$%^&*()_+}{POIUYTREWQASDFFGHJKL:?><MNBVCXZ[]';./,"
length = len(ch)
key = ch[random.randrange(0, length)]
    
def getKey(k):
    tmp = ""
    while True:
        tmp = ch[random.randrange(0, length)]
        if tmp != key:
            break
    return tmp
    
def main():
    print "Zamislite eden dvocifren broj (npr: 54)"
    print "Od brojot koj go zamislivte, odzemete go zbirot na negovite cifri (pr: 54 - (5 + 4) = 45)"
    print "Najdete go svojot rezultat vo tablicata i zapomnete go simbolot do toj broj."
    print "Dokolku go vidovte znakot do vashiot rezutlat, pritisnete enter.\n"
    
    s = "";

    print "#"*80
    for i in xrange(1, 100):
        if i % 9 == 0:
            s += str(i) + key + "\t"
        else:
            s += str(i) + getKey(key) + "\t"
        if i % 10 == 0:
            print s
            s = ""
    print "#"*80
            
    raw_input("\nPritisnete Enter...\n")
    print "Toa e znakot: " + key 
    print ":)"

main()
JavaScript:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="Виртуелен читаш на мисли..." />
    <meta name="author" content="SkyDriver" />
    
	<title>Виртуелен читач на мисли - SkyDriver</title>
    
    <style type="text/css">
		body {
			font-family: Arial, Helvetica, sans-serif;
			font-size: 14px;
		}
	</style>
    
    <script language="javascript">
		var karakter;
		function getKey(len, ch, key) {
			var tmp = "";
			while (true) {
				tmp = ch[Math.floor(Math.random()*len)];
				if(tmp != key) { break; }
			}
			return tmp;
		}

		function Key() {
			alert("Знакот/буквата е: " + karakter + ".\nОбидете се повторно. :)");
			fill();
		}
		
		function fill() {
			var ch = "QWERTYUIOPLKJHGFDSAZXCVBNM/;[]+_)(*&^%$#@!~<>?:{}";
			var len = ch.length;
			var key = ch[Math.floor(Math.random()*len)];
			karakter = key;
			var str = "<table border='0' align='center' width='700px'>";
			var n = 99;
			for(var j=0; j<10; j++) {
				str += "<tr>";
				for(var i=9; i>=0; i--) {
					if(n%9==0) {
						str += "<td>" + n.toString() + key + "</td>";
					} else {
						str += "<td>" + n.toString() + getKey(len, ch, key) + "</td>";
					}
					n--;
				}
				str += "</tr>";
			}
			str += "</table>";
			document.getElementById("start").innerHTML = str;
		}
		
	</script>
</head>

<body>
	<div style="text-align:center; font-size: 20px;">
    	Виртуелен читач на мисли <br />
        SkyDriver
    </div>
    <hr />
    <div style="text-align: center;">
    	Замислете си еден двоцифрен број (пример, 54) <br />
    	Од замислениот број, одземете му го збирот на неговите цифри (пример, 54 - (5+4)) <br />
    	Погледнете ја долната табела и најдете го резултатот кој го добивте од замислениот број. <br />
        До него има еден знак или буква, запомнете го/ja знакот/буквата. <br />
    	И притиснете на долното дугме за да видите дали виртуелниот читач на мисли успеа да ве „прочита“. :)<br />
    </div>
    <hr />
	<div id="start"> </div>
    <hr />
   	<center>
    	<input type='button' value='Резултат' onClick='Key()' />
    </center>
    <script language="javascript"> fill(); </script>
</body>
</html>
 

Mind In Motion

Smirking Revenge
Член од
29 мај 2007
Мислења
816
Поени од реакции
46
Код:
#include <iostream>
using namespace std;

int main()
{
    int sum;
    char resp;
    cout<<"      1               2              3               4                5     \n";
    cout<<"-------------   -------------  -------------   -------------   -------------\n";
    cout<<"| 1  3  5  7|   | 2  3  6  7|  | 4  5  6  7|   | 8  9 10 11|   |16 17 18 19|\n";
    cout<<"| 9 11 13 15|   |10 11 14 15|  |12 13 14 15|   |12 13 14 15|   |20 21 22 23|\n";
    cout<<"|17 19 21 23|   |18 19 22 23|  |20 21 22 23|   |24 25 26 27|   |24 25 26 27|\n";
    cout<<"|25 27 29 31|   |26 27 30 31|  |28 29 30 31|   |28 29 30 31|   |28 29 30 31|\n";
    cout<<"-------------   -------------  -------------   -------------   -------------\n";
    sum=0;
    cout<<"Is your number in the first field!? Answer 'y' or 'n'!!!\n";
        cin>>resp;
    if (resp=='y'){
        sum=sum+1;
    }
    cout<<"Is your number in the second field!? Answer 'y' or 'n'!!!\n";
        cin>>resp;
    if (resp=='y'){
        sum=sum+2;
    }
    cout<<"Is your number in the third field!? Answer 'y' or 'n'!!!\n";
        cin>>resp;
    if (resp=='y'){
        sum=sum+4;
    }
    cout<<"Is your number in the fourth field!? Answer 'y' or 'n'!!!\n";
        cin>>resp;
    if (resp=='y'){
        sum=sum+8;
    }
    cout<<"Is your number in the fifth field!? Answer 'y' or 'n'!!!\n";
        cin>>resp;
    if (resp=='y'){
        sum=sum+16;
    }
    cout<<"Your number is : "<<sum<<endl;
    system("pause");
    return 0;
}
;)
 

Kajgana Shop

На врв Bottom