非程序员 的 三行代码情书
普通人眼里,程序员是一个极其神秘高端的职业,他们都被视为是黑客,有着能让世界瘫痪的能力
他们的形象是这样的
或者是这样
他们每天看的内容是这些
或者是这些
然而现实其实是,一盯屏幕就是一天,写代码速度不会很快,只有三成的时间在写代码,七成时间其实是在找bug,或者是修bug,亦或者是在百度解决方案。
言归正传,事情是这样的,愉同学发消息问我:
既然愉同学都发话了,三行?三百行我都能整~
于是打开smart稍加思索后
想起以前那个笛卡尔心形函数,搜了一波,把函数式子抄下来:
可以稍微代入一下就知道,在心形里面的全都是左式<=1的情况
而因为我们要从上到下从左到右的顺序输出来,于是乎,写两个循环,先循环y,内里循环x,通过改变x和y的自增量来控制上下宽窄和左右宽窄,挑出一个漂亮的比例,于是就成了
为了能写好三行,先定义两个没有用到的函数,再映射好每个单词的内容就行了
【x,y每次自增量越小,则左右上下越宽(因为遍历的点数变多了),越大则同理左右上下会相对应变窄
1 2 3 4 5 6 7 8 9 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#include <cstdio> #include <iostream> #include <cmath> #define I ( #define love true #define you ) #define then { #define heart } #define you_ll solve1(); #define get solve2(); #define my solve3(); #include <Windows.h> void solve2(){} void solve3(){} double f(double x , double y){ return x*x + pow(( y - pow(x*x,1.0/3.0)),2); } void solve1(){ for(double y = 1.6 ; y >= -1.0 ; y -= 0.08){ for(double x = -1.2 ; x <= 1.2 ; x += 0.03){ // printf("f(%lf,%lf)=%lf\n",x,y,f(x,y)); if( f(x,y) - 1 <= 1e-3 ) printf("*"); else printf(" "); Sleep(8); } printf("\n"); } } int main(){ if I love you then you_ll get my heart return 0; } |
开头字机版本的:
1 2 3 4 5 6 7 8 9 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 36 37 38 39 |
//<!DOCTYPE html> //<html> //<body> // <center><pre id='test'></pre></center> // <script> var width = 0.08,height = 0.17,interval = 12; var str='',i=1; function f(x,y){ return x*x + Math.pow((y - Math.pow(x * x , 1.0 / 3.0)) , 2.0); } function printf(str1){ str += str1; } function solve(){ for(let y = 1.6 ; y >= -1.0 ; y -= height){ for(let x = -1.2 ; x <= 1.2 ; x += width){ if( f(x,y) - 1 <= 1e-1 ) printf('#'); else printf(' '); } printf('<br>'); } } function typing(){ var divTyping = document.getElementById('test'); if (i <= str.length) { divTyping.innerHTML = str.slice(0, i++) + '_'; setTimeout('typing()', interval); } else{ divTyping.innerHTML = str; } } solve(); typing(); // </script> //</body> //</html> |
-- 热度:1,023 ℃
-- 于 ,共写了521个字;
-- 文内使用到的标签:
-- 于 ,共写了521个字;
-- 文内使用到的标签:
- 下一篇:往事已矣来事可期
- 上一篇:清除计划【rm -rf /】
6666666666