假期刷题打卡--Day23

1、MT1190分数乘法

输入5组分数,对他们进行乘法运算,输出结果。不考虑分母为0等特殊情况。

格式

输入格式:

输入整型,每组一行,如样例所示。

输出格式:

输出计算结果实型,如样例所示。

样例 1

输入:

1/2 1/4  
2/3 1/7  
3/5 2/7
3/13 2/5
1/9 11/15

输出:

0.125000  
0.095238  
0.171429  
0.092308  
0.081481
分析过程

刚看到这个题目的时候,下意识反应,输入五组,然后分别输入。后面才意识到这个可以使用循环结构解决,所以,就写出了下面代码。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{double a1,a2,b1,b2;for(int i=0;i<5;i++){scanf("%lf/%lf %lf/%lf",&a1,&b1,&a2,&b2);printf("%lf\n",(a1*a2)/(b1*b2));}return 0;
}

2、MT1191减半

输入两个值N和M,输出N做M次减半后的值。比如100,减半后依次为50, 25, 12…,减半3次后是12。输入不考虑0,负数或者其他特殊情况。

格式

输入格式:

输入为整型,空格分隔

输出格式:

输出为整型

样例 1

输入:

100 3

输出:

12
注意点

        这道题没有什么难度,但是有一点需要注意,要求输入数为整数,所以在减半的时候不能使用1/2这种形式,因为这样计算的话,会直接化成整型,计算结果为0,无法得到想要的结果,而是用0.5就可以得出正确结果。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int n,count;cin >> n >> count;        for(int i=0;i<count;i++){n=0.5 * n;}cout << n;return 0;
}

3、MT1193偶数的平方和

输入正整数N,求前N个偶数的平方和。不考虑溢出。

格式

输入格式:

输入正整数N

输出格式:

输入整型

样例 1

输入:

3

输出:

56
备注

本题第一个偶数从2起算

分析过程

本题要求前n个偶数的平方和。此题要求偶数从2开始,那么样例一输入的n为3,所以3个偶数为2,4,6,所以循环的次数为3,循环当中的偶数应该如何依次增大呢?是需要前一个偶数加2,或者说,可以从i=1开始,i乘以2也是可以实现的。

实现代码

首先尝试使用加法实现,实现代码如下:

#include<bits/stdc++.h> using namespace std;int main( )
{int n,sum=0;cin >> n;int m = 2;for(int i=1;i<=n;i++){      sum += pow(m,2);m = 2 + i*2;}cout << sum;return 0;
}

然后使用乘法解决,实现代码如下:

#include<bits/stdc++.h> using namespace std;int main( )
{int n,sum=0;cin >> n;for(int i=1;i<=n;i++){int m = i*2;sum += pow(m,2);}cout << sum;return 0;
}

上述两种方法的不同之处在于,是否在循环前就定义第一个偶数为2。

4、MT1194奇数的平方和

输入正整数N,求前N个奇数的平方和。不考虑溢出。

格式

输入格式:

输入正整数N

输出格式:

输入整型

样例 1

输入:

3

输出:

35
实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int n,m=1,sum=0;cin >> n;for(int i=1;i<=n;i++){sum += pow(m,2);m = 1 + i*2;}cout << sum;return 0;
}

上面两个题计算奇偶数的区别仅仅在于初值,奇数初值为1,偶数初值为2。

5、MT1195公式求和

输入正整数N和M,按照下列公式求和。

格式

输入格式:

输入整型,空格分隔

输出格式:

输出实型

样例 1

输入:

2 4

输出:

0.42361
分析过程

刚开始的时候没有理解本题的终结条件(可能是数学能力的缺失),后来发现m是最后的一个值,所以要求的应该是小于m,按照上面的理解,写出以下代码:

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int n,m;double sum=0;scanf("%d %d",&n,&m);while(n<=m){sum += 1.0/(pow(n,2));n++;}printf("%.5f",sum);return 0;
}

6、MT1196阶乘

请编写一个简单程序,输入正整数n,输出n的阶乘。

格式

输入格式:

输入整型

输出格式:

输出整型

样例 1

输入:

5

输出:

5!=120
实现代码
#include<bits/stdc++.h> using namespace std;
/*解决思路:
注意这里要实现阶乘就需要设置sum初值为1,
然后i从1开始依次相乘到输入数*/
int main( )
{int n,sum=1;scanf("%d",&n);for(int i=1;i<=n;i++){sum = sum*i;}printf("%d!=%d",n,sum);return 0;
}

7、MT1197阶乘和

求1!+2!+3!+…+n!

格式

输入格式:

输入为整型

输出格式:

输出为整型

样例 1

输入:

5

输出:

153
分析过程

本题需要解决的有两点:

  1. 计算从1到输入数n的阶乘
  2. 将这些阶乘相加

按照上面的两点我们可以得知,计算阶乘这个部分需要计算多次,所以可以写成一个函数,调用输入数n次,然后设置一个sum=0,来计算总数。

按照上述思路,得到如下代码:

实现代码
#include<bits/stdc++.h> using namespace std;int s(int a){int sum1=1;for(int i=1;i<=a;i++){sum1*=i;} // cout << sum1 << "**";return sum1;   
}
int main( )
{int n,sum=0;cin >> n;for(int i=1;i<=n;i++){sum+=s(i);}cout << sum;return 0;
}

 

明天继续吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/453049.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】JAVA+Vue+SpringBoot实现二手车交易系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

echarts使用之饼图(四)

1 基本使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" cont…

算法学习——华为机考题库9(HJ56 - HJ63)

算法学习——华为机考题库9&#xff08;HJ56 - HJ63&#xff09; HJ56 完全数计算 描述 完全数&#xff08;Perfect number&#xff09;&#xff0c;又称完美数或完备数&#xff0c;是一些特殊的自然数。 它所有的真因子&#xff08;即除了自身以外的约数&#xff09;的和&…

思科模拟器实验合集

目 录 实验一 常用网络命令的使用.................................... 1 实验二 双绞线制作.................................................. 12 实验三 网络模拟软件.............................................. 15 实验四 交换机基本配置..................…

Linux进程信号(2)--信号的保存

目录 1.阻塞信号 1.1 信号其他相关常见概念 1.实际执行信号的处理动作称为信号递达(Delivery&#xff09; 2.信号从产生到递达之间的状态,称为信号未决(Pending)。 3.进程可以选择阻塞 (Block )某个信号。 1.2信号在内核中的表示 sigset_t 信号集操作函数 使用sigprocm…

套路化编程 C# winform 自适应缩放布局

本例程实现基本的自适应缩放布局。 在本例程中你将会学习到如何通过鼠标改变界面比例&#xff08;SplitContainer&#xff09;、如何使用流布局&#xff08;FlowLayoutPanel&#xff09;排列控件&#xff0c;当然首先需要了解如何设置控件随窗口缩放。 目录 创建项目 ​编辑…

视频业务像素、带宽、存储空间计算

一、像素和分辨率 分辨率的单位通常是像素&#xff08;或点&#xff09;&#xff0c;用水平像素数乘以垂直像素数来表示。例如&#xff0c;一个分辨率为1920 x 1080的屏幕有1920个水平像素和1080个垂直像素。 总像素分辨率公式运算 例如 1920 x 10802073600总约200万 500W≈…

Elasticsearch:使用 Inference API 进行语义搜索

在我之前的文章 “Elastic Search 8.12&#xff1a;让 Lucene 更快&#xff0c;让开发人员更快”&#xff0c;我有提到 Inference API。这些功能的核心部分始终是灵活的第三方模型管理&#xff0c;使客户能够利用当今市场上下载最多的向量数据库及其选择的转换器模型。在今天的…

SQL注入其他方法

此次实验因为环境问题很多无法复现&#xff0c;在此只讨论过程和方法 一、SQL注入之outfile注入 mysql的outfile的作用是导出文件&#xff0c;使用此方法的必要条件&#xff1a;&#xff08;此方法成功率极低&#xff09; 1、知道目标网站的物理路径&#xff1b; 2、%secur…

protoc结合go完成protocol buffers协议的序列化与反序列化

下载protoc编译器 下载 https://github.com/protocolbuffers/protobuf/releases ps: 根据平台选择需要的编译器&#xff0c;这里选择windows 解压 加入环境变量 安装go专用protoc生成器 https://blog.csdn.net/qq_36940806/article/details/135017748?spm1001.2014.3001.…

目标检测及相关算法介绍

文章目录 目标检测介绍目标检测算法分类目标检测算法模型组成经典目标检测论文 目标检测介绍 目标检测是计算机视觉领域中的一项重要任务&#xff0c;旨在识别图像或视频中的特定对象的位置并将其与不同类别中的对象进行分类。与图像分类任务不同&#xff0c;目标检测不仅需要…

缓存组件Caffeine的使用

caffeine是一个高性能的缓存组件&#xff0c;在需要缓存数据&#xff0c;但数据量不算太大&#xff0c;不想引入redis的时候&#xff0c;caffeine就是一个不错的选择。可以把caffeine理解为一个简单的redis。 1、导入依赖 <!-- https://mvnrepository.com/artifact/com.git…