NYOJ91 阶乘之和 与全加器设计Verilog HDL
阶乘之和
- 描述
-
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
-
第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
-
2910
- 样例输出
-
YesNo
- 上传者
AC 代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{int a[10] = {1,2,6,24,120,720,5040,40320,362880};int n, m ;scanf("%d", &n);while(n--){scanf("%d", &m);for(int i = 8; i>=0; i--){//贪心思想每次先装最大的if(m >= a[i]){m-=a[i];}}if(m == 0){//如果最后是0 的话那么代表这个玩意可以用阶层表示的printf("Yes\n");}else{printf("No\n");}}return 0;
}
解题思路主要是贪心思路即可求解
下面是全加器的 一般是真值表, 然后化简卡罗图, 最后实现表达式
下面主要采用门级建模实现的, 具体的全加器的电路其实看代码就可以知道的
看代码:
module fulladd(a, b, cin,cout, sum);//输入输出端口说明input a,b,cin;output sum, cout;//信号类型说明wire s1,c2,c1;xor(s1,a,b);and(c1, a,b);xor(sum, s1, cin);and(c2 ,s1,cin);xor(cout,c2,c1);endmodule
下面是行为建模
看些test bench测试文件
module twb;// Inputsreg a;reg b;reg cin;// Outputswire cout;wire sum;// Instantiate the Unit Under Test (UUT)counter uut (.a(a), .b(b), .cin(cin), .cout(cout), .sum(sum));initial begin// Initialize Inputsa = 0;b = 0;cin = 0;// Wait 100 ns for global reset to finish#10;a = 1'b1; b = 1'b0 ; cin = 1'b1;#10 a = 1'b0; b = 1'b1 ; cin = 1'b1;#10 a = 1'b1; b = 1'b1 ; cin = 1'b1;#10 a = 1'b1; b = 1'b0 ; cin = 1'b0;// Add stimulus hereendendmodule
NYOJ91 阶乘之和 与全加器设计Verilog HDL相关推荐
- 译码器设计——Verilog HDL语言
译码器设计 任务描述 相关知识 3线-8线译码器的功能 always语句 事件时序控制 case语句 编程要求 源代码 任务描述 设计一个3线-8线译码器.运用Verilog HDL进行设计,完善译码 ...
- 编码器设计——Verilog HDL语言
编码器设计 任务描述 相关知识 3位二进制优先编码器的功能 always语句 事件时序控制 编程要求 源代码 任务描述 设计一个3位二进制优先编码器.运用Verilog HDL进行设计,完善3位二进制 ...
- 数字电子钟设计制作——数字逻辑课程设计 Verilog HDL CPLD
目的: 1.进一步掌握数字电子技术的理论知识,培养工程设计能力和综合分析问题.解决问题的能力: 2.基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力: 3.掌握复杂可编程逻辑器件CPL ...
- nyoj91 阶乘之和
阶乘之和 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如 ...
- 计算机原理与设计verilog pdf,计算机原理与设计: Verilog HDL版
摘要: 李亚民教授长期从事计算机原理和体系结构的教学与研究,他的新书<计算机原理与设计--VerilogHDL版>讲述计算机原理,计算机设计以及如何用VerilogHDL实现设计.主要内容 ...
- [好书推荐].计算机原理与设计——Verilog HDL版等;待续
强烈推荐 http://product.dangdang.com/product.aspx?product_id=20499178 http://product.dangdang.com/prod ...
- 【Verilog HDL学习之路】第二章 Verilog HDL的设计方法学——层次建模
2 Verilog HDL的设计方法学--层次建模 重要的思想: 在语文教学中,应该先掌握核心方法论,再用正确的方法论去做题目,这样能够逐渐加深对于方法论的理解,做题的速度和准确率也会越来越高. 在V ...
- 流水线cpu —Verilog HDL
一.准备工作 先看看书(<计算机原理与设计 Verilog HDL版>),搞懂一点原理.然后照着书上的代码写一写(用8.4的就可以了,不用8.6的). 注意mux2x32,mux4,cla ...
- FIR滤波器设计(包括Verilog HDL设计以及MATLAB设计)
FIR滤波器设计 滤波器原理:滤波器就是对特定的频率或者特定频率以外的频率进行消除的电路,被广泛用于通信系统和信号处理系统中.从功能角度,数字滤波器对输入离散信号的数字代码进行运算处理,以达到滤除频带 ...
最新文章
- 高性能mysql的事物隔离级别
- python 三角函数
- apache建立虚拟主机[转载]
- 用正则判断字符串是否为中文的方法
- VMware Workstation 网络设置解释三种
- 83-MACD 移动平均汇总/分离指标.(2015.7.3)
- 360mysql连接池_自己动手写个数据库连接池
- 【算法基础】动态规划解题实例之野营问题
- pandas入门(3)
- 修改dataV轮播表背景图
- cigarettes(南阳oj94)
- 用计算机证明的定理,定理机器证明
- 团队建设的不同阶段与管理方式
- golang快速入门[3]-go语言helloworld
- 通过多个点,计算出中心点
- Bugku之网站被黑
- sql中on和where的区别在哪
- Altium Designer入门学习笔记和快捷键整理
- aso是做什么的_ASOer的目标
- Mac上安装VisualVM