*J

用js写直角三角形,等腰三角形,菱形

旧街凉风 提交于 2020-04-26 07:39:02
//一、 画一个直角三角形 // 第几行 *号数 // * 1 1 // ** 2 2 // *** 3 3 // **** 4 4 // ***** 5 5 // 规律:行数 = *号数 function left(n){ // right为函数名,n为形式参数,用于接收实体参数。 for(var i = 1; i <= n; i++){ // 声明i为打印行数 for(var j = 1; j <= i; j++){ //声明j为一行打印多少个* document.write("*"); } document.write("<br>"); //每打印一行就执行一次换行 } } left(5); //要求函数打印10行*,实体参数! // 二、画一个直角三角形 // * 4 空格 1 * // ** 3 空格 2 * // *** 2 空格 3 * // **** 1 空格 4 * // ***** 0 空格 5 * // 规律: 一行 : 空格 + *; // 空格 = 总行数 - 空格所在行数 // 行数 = *号数 function right(n){ for(var i = 1; i <= n; i++){ // 声明i为打印行数 for(var k = 1; k <= n - i; k++){ //声明k为打印空格 document.write(" "); } for

两通道实信号使用一个FFT同时计算算法

雨燕双飞 提交于 2020-04-24 21:12:52
前言 在工程的实际应用场景中,往往是需要最省资源量。而DSP资源和BRAM资源对FPGA来说弥足珍贵。 对于同时存在多个通道的实信号需要做FFT而言,常规做法是每个通道用一个FFT IP,FFT IP的输入为RE+0*j。即输入FFT IP的虚部直接置0。 那有没有可能把这个虚部浪费掉的资源用起来呢,答案是肯定的。 参考文档 http://www.doc88.com/p-0394736871727.html https://wenku.baidu.com/view/e89895af9ec3d5bbfc0a7403.html 基础知识 什么叫复数共轭对? 如果一个复数为a+b*j,那么它的共轭就是a-b*j。两者称为复数共轭对。 FFT的输出规律是啥? 如下图所示,对于N点FFT的输出,第1个点为直流分量,从第2个点开始是关于2N/2这个点共轭对称的。比如第2个点跟第N个点是共轭对称的。 算法流程 有两路同时的实信号需要进行计算,则可以使用1个N点的FFT就可以实现N点双路实信号的并行计算。 (1) 设x1(n)和x2(n)为两个N点的实序列。 (2) 构造新序列:x(n) = x1(n) + x2(n)*j。 (3) 计算x(n)的FFT,得到X(K) = RE(K) + IM(K)*j。 (4) 利用对称性,就有: FFT(x1(n)) = [X(K) + X * (N-K)]

20191104132052

有些话、适合烂在心里 提交于 2019-12-04 07:10:20
1.编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。 /** Module Name: Description: Author: Created: Last Change: Functions: */ #include <stdio.h> #define SIZE 26 int main(void) { char ch[SIZE]; int i; for(i=0;i<SIZE;i++){ ch[i]='a'+i; } for(i=0;i<SIZE;i++){ printf("%c",ch[i]); } return 0; } 2. 使用嵌套循环,按下面的格式打印字符: $ $$ $$$ $$$$ $$$$$ #include <stdio.h> int main(int argc, char *argv[]) { char let='A',b='A'; char start,end,amount=5,a; for(start=1;start<=5;start++){ while(amount>0){ printf(" "); amount--; } amount=5-start; for(end=1;end<=start;end++){ printf("%c",let); let++; } let='A'; for(a=start-1

「双指针」的魅力!图解算法题「盛最多水的容器」!

点点圈 提交于 2019-11-30 09:33:14
今天分享的题目来源于 LeetCode 第 11 号问题:盛最多水的容器。这是一道可以使用 双指针 的技巧来解题的经典题目。 题目描述 给定 n 个非负整数 a 1, a 2,..., a n,每个数代表坐标中的一个点 ( i , ai ) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 ( i , ai ) 和 ( i , 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 **注意:**你不能倾斜容器, n 至少是2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 示例: 输入: [1,8,6,2,5,4,8,3,7] 输出: 49 题目解析 定义 i 和 j 两个指针分别指向数组的左右两端,然后两个指针向中间搜索,并且更新面积最大值 res ,直到 i == j 时返回 res 。 其中 容器装水量的算法是找出左右两个边缘中较小的那个乘以两边缘的距离 。 动画描述 代码实现 class Solution { public int maxArea(int[] height) { int i = 0, j = height.length - 1, res = 0; while(i < j){ res = height[i] < height[j] ? Math.max