- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
#include <stdio.h>
#include <stdint.h>
#define ARR_L 11
#define INS_P (arr[0])
#define MOD_L(a) ((a) % ARR_L)
#define INS_P_M (MOD_L(INS_P))
#define ARR_ACS(a) (arr[MOD_L(a)]) //access to arr
void foo (uint8_t *arr)
{
if (ARR_ACS(0) == 0)
{
printf("%u ", ARR_ACS(1));
ARR_ACS(1) += ARR_ACS(2);
ARR_ACS(0) = 1;
}
else
{
printf("%u ", ARR_ACS(2));
ARR_ACS(2) += ARR_ACS(1);
ARR_ACS(0) = 0;
}
}
int main(void) {
uint8_t arr[ARR_L] = {1,1,1,0,0,0,0,0,0,0,0};
for (size_t a = 0; a < 13; a++)
{
foo(arr);
}
return 0;
}
Считалка чисел Фибоначчи на основе фигни, придуманной в http://govnokod.ru/15967
Надо сделать метаязык для удобного составления набора инструкций для этой штуки. И еще надо осилить длинную арифметику, ну это вообще круто будет
j123123 14.05.2014 12:55 # +1
bormand 14.05.2014 13:16 # +2
Abbath 14.05.2014 22:04 # +2
bormand 15.05.2014 05:37 # +1
Который будет еще медленнее. Т.к. мелкие числа будет гонять через 100500битные регистры.
j123123 15.05.2014 07:07 # 0
bormand 15.05.2014 08:34 # 0
Abbath 15.05.2014 09:50 # 0
bormand 15.05.2014 10:03 # 0
Abbath 15.05.2014 10:28 # +4