宇宙跃迁

“天和,字一色,大四喜,四暗刻单骑,六倍役满!288000点!”

炸鸡块君献祭了30年寿命换来了三家宇宙跃迁的机会,三家在跃迁途中看到了宇宙中神奇的一幕,远处有一个由一个倒三角形和一个三角形组成的图形,而且远处的图形没有因为他们的靠近而变化。其中一人通过他的超能力计算出了该图形的高度等于他们距离该图形的距离的1.5倍,最下面的宽度比最上面的宽1倍再加1,现在他们想知道在距离为n的距离下该图形的大小。(数据保证n是偶数)

输入描述

输入仅1行,第一行输入一个非负偶数​。

输出描述

输出第一行为“Start:"(不含引号)接下来,输出对应图形,注意每行末尾没有空格。

 测试输入关于“测试输入”的帮助期待的输出关于“期待的输出”的帮助时间限制关于“时间限制”的帮助内存限制关于“内存限制”的帮助额外进程关于“{$a} 个额外进程”的帮助
测试用例 1以文本方式显示
  1. 4↵
以文本方式显示
  1. Start:↵
  2.   ***↵
  3.    *↵
  4.    *↵
  5.   ***↵
  6.  *****↵
  7. *******↵
1秒64M0
测试用例 2以文本方式显示
  1. 6↵
以文本方式显示
  1. Start:↵
  2.    *****↵
  3.     ***↵
  4.      *↵
  5.      *↵
  6.     ***↵
  7.    *****↵
  8.   *******↵
  9.  *********↵
  10. ***********↵
1秒64M0

 

#include<stdio.h>  
#include <stdlib.h>  
int main()  
{int n,a,b,s,i,j,flag;  
 scanf("%d",&n);  
 a=n/2;  //倒三角高度  
 b=2*a;   //正三角高度  
 s=a+b;   //整体高度  
 int num[s]; //存放每一行*的个数的数组   
 num[0]=2*a-1;  
 for(i=1;i<s;i++) //初始化数组   
 {  
    if(i<a) num[i]=num[i-1]-2;  
    else  
    {  
        if(i==(a-1)||i==a) num[i]=1;  
        else num[i]=num[i-1]+2;  
    }     
 }  
 printf("Start:\n");  
 for(i=0;i<s;i++)   
 {  
    for(j=0,flag=0;j<(2*b-1);j++)  
    {    
        if(j<(2*b-1-num[i])/2) printf(" ");  
        else   
         {  
            printf("*");  
            flag++;  
         }  
        if(flag==num[i]) break;  
     }  
     printf("\n");  
 }  
 }  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中绘制氢原子能级跃迁可以使用量子力学的理论公式来计算能级和跃迁的能量差,并使用Matlab的绘图函数来可视化结果。以下是一个示例代码: ```matlab % 定义常数 h = 6.62607015e-34; % 普朗克常数 c = 2.99792458e8; % 光速 R = 1.0973731568539e7; % 瑞利常数 % 定义氢原子的质量和电荷 m = 9.10938356e-31; % 电子质量 e = 1.60217662e-19; % 电子电荷 % 定义能级和跃迁的主量子数 n1 = 1; % 初始能级 n2 = 2; % 终止能级 % 计算能级和跃迁的能量差 E1 = -R * (1/n1^2); % 初始能级能量 E2 = -R * (1/n2^2); % 终止能级能量 deltaE = E2 - E1; % 能量差 % 计算跃迁的波长 lambda = (h * c) / deltaE; % 绘制能级跃迁示意图 figure; hold on; rectangle('Position', [0, 0, 1, E1], 'FaceColor', 'b'); % 初始能级 rectangle('Position', [0, E1, 1, deltaE], 'FaceColor', 'r'); % 跃迁能级 rectangle('Position', [0, E1+deltaE, 1, -E2], 'FaceColor', 'b'); % 终止能级 text(0.5, E1/2, sprintf('n=%d', n1), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle'); text(0.5, E1+deltaE/2, sprintf('n=%d', n2), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle'); text(0.5, E1+deltaE+E2/2, sprintf('n=%d', n2), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle'); text(0.5, E1+deltaE/2, sprintf('λ=%.2e m', lambda), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle'); xlabel('位置'); ylabel('能量'); title('氢原子能级跃迁示意图'); axis([0 1 0 E1+deltaE+E2]); ``` 这段代码首先定义了一些常数,包括普朗克常数、光速和瑞利常数。然后定义了氢原子的质量和电荷。接下来定义了初始能级和终止能级的主量子数。通过使用瑞利常数和主量子数计算能级的能量差,然后使用能量差计算跃迁的波长。最后使用Matlab的绘图函数绘制能级跃迁的示意图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值