炫Q 发布的文章

Armbian for M2+

首先是下载镜像,官方下载网址,下载的Jessie server,很袖珍只有200+M,解压后Armbian_5.13_Bananapim2plus_Debian_jessie_3.4.112.raw有1.3+G
http://www.armbian.com/banana-pi-m2-plus/

烧录后可以直接SSH登录,账号root,密码1234,会立即要求更新密码,新建帐户,用了传统的pi/bananapi
66.png

第一次用,测试了一下MikuDuino的兼容性,OK
67.png

MikuDuino来了(基于MikuPi的Arduino库)

仅仅是一个开始,也仅仅能点灯,算作一种轻量级库的尝试吧
https://github.com/bpiq/MikuPi
期间参考了很多前辈的资料,首先是Gordon's WiringPi,然后是sinovoip's BPI-WiringPi和tjCFeng's ClassA20等
要写一个轻量级的库看似简单,但对于一个没有linux和c基础的MikuQ来说,困难重重

1、要判断板卡的型号,目前也只能通过数内核的办法粗分BPI-M2+和BPI-M3
2、学习如何写动态库和如何安装,参考wiringPi
3、学习写makefile编译和安装,勉强通过还不会写build脚本
4、简单的gpio控制,参考cubieboard
5、gpio映射,结果发现GPIO L不受控,后来参考BPI-WiringPi
6、学用github,暂时还不太会写markdown
7、定义Arduino的结构和IO
8、其它各种c的问题,找不到头文件,重复定义,编译错误,and so on

最终算是出来了一个雏形,可以点灯了,结果还被大球抢了先
http://forum.banana-pi.org.cn/thread-1324-1-1.html

安装起来很简单

git clone https://github.com/bpiq/MikuPi.git
cd MikuPi
sudo make

然后就可以运行例子了

cd examples
gcc -Wall -o blink blink.c -lMikuDuino
sudo ./blink

看大球说和Arduino还有区别,继续修改了blink-qubot.c,是不是更像了,这里用到的13是wiringPi定义的13,对应物理21脚,也可以写成D21,这个是MikuDuino的定义,更方便对应。

2013蓝桥杯预选---第39级台阶

    小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
    站在台阶前,他突然又想着一个问题:
    如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
    请你利用计算机的优势,帮助小明寻找答案。

要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。

首先是Water用py给了一个思路,翻译成C#,9.8s

import time
t = 0
def f(i, j, k, s):
    global t
    if j > 0:   
        j -= i
        k += 1
        s += str(i) + ','
        if j == 0:
            f(0, j, k, s)
        else:
            f(1, j, k, s)
            f(2, j, k, s)
    elif j == 0:
        if k % 2 == 1:
            return
        t += 1
        #print('t=%d k=%s %s' % (t, k, s))
        return
    else:
        return
        
if __name__ == '__main__':
    start = time.time()
    n = 39
    f(1, n, 0, '')
    f(2, n, 0, '')
    c = time.time() - start
    print('t=%d used time %0.3f' % (t,c))

- 阅读剩余部分 -

第七届蓝桥杯---密码脱落

X星球的考古学家发现了一批古代留下来的密码。
这些密码是由A、B、C、D、E 五种植物的种子串成的序列。
仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。
由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。

你的任务是:
给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。

输入一行,表示现在看到的密码串(长度不大于1000)
要求输出一个正整数,表示至少脱落了多少个种子。

- 阅读剩余部分 -