当前位置: 首页 > news >正文

蓝桥杯刷题_day3

文章目录

  • DAY3
    • 01字串
    • 判断闰年
    • Fibonacci数列
    • 圆的面积
    • 序列求和

DAY3

01字串

【题目描述】
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。

【输入格式】
本试题没有输入。

【输出格式】
输出32行,按从小到大的顺序每行一个长度为5的01串。

【输入样例】


【输出样例】

00000  
00001  
00010  
00011  
<以下部分省略>

【数据规模与约定】
1 <= n <= 10000

【解题思路】
遍历0~31,将每个数进行进制转换,然后转换的每一位数存储在数组中,之后打印数组。

【C++程序代码】

#include<bits/stdc++.h>
using namespace std;int main()
{for (int i = 0; i < 32; i++){int binary[5] = { 0 };int tmp = i;int k = 4;while (tmp){binary[k--] = tmp % 2;tmp /= 2;}for (int c = 0; c < 5; c++){cout << binary[c];}cout << endl;}return 0;
}

判断闰年

【题目描述】
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:

  1. 年份是4的倍数而不是100的倍数;
  2. 年份是400的倍数。
    其他的年份都不是闰年。

【输入格式】
输入包含一个整数y,表示当前的年份。

【输出格式】
输出一行,如果给定的年份是闰年,则输出yes,否则输出no。

说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。

【输入样例】

20132016

【输出样例】

noyes

【数据规模与约定】
1990 <= y <= 2050

【解题思路】
能被4整除不能被100整除的,以及能被400整除的年份是闰年。

【C++程序代码】

#include<bits/stdc++.h>
using namespace std;int main()
{int year;cin >> year;if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){cout << "yes" << endl;}else{cout << "no" << endl;}return 0;
}

Fibonacci数列

【题目描述】
Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

【输入格式】
输入包含一个整数n。

【输出格式】
输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

【输入样例】

1022

【输出样例】

557704

【数据规模与约定】
1 <= n <= 1,000,000

【解题思路】
对于斐波那契数列而言,前两个数都为1,而从第三个数开始,其值都等于前两个数字之和。

【C++程序代码】

#include<bits/stdc++.h>using namespace std;int main()
{vector<int> fn(1000000);fn[1] = fn[2] = 1;int n;cin >> n;for (int i = 3; i <= n; i++){fn[i] = fn[i - 1] + fn[i - 2];}//cout << fn[n] << endl;cout << fn[n] % 10007 << endl;return 0;
}

圆的面积

【题目描述】
给定圆的半径r,求圆的面积。

【输入格式】
输入包含一个整数r,表示圆的半径。

【输出格式】
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

说明:在本题中,输入是一个整数,但是输出是一个实数。
对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。
实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

【输入样例】

4

【输出样例】

50.2654825

【数据规模与约定】
1 <= r <= 10000

【提示】
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。

【解题思路】
求圆的面积公式:半径的平方乘以圆周率。

【C++程序代码】

#include<bits/stdc++.h>using namespace std;int main()
{int r;cin >> r;double pi = 3.14159265358979323;double s = pi * pow(r, 2);printf("%.7f\n", s);return 0;
}

序列求和

【题目描述】
求1+2+3+…+n的值。

【输入格式】
输入包括一个整数n。

【输出格式】
输出一行,包括一个整数,表示1+2+3+…+n的值。

【输入样例】

4

【输出样例】

10

【数据规模与约定】
1 <= n <= 1,000,000,000

【提示】
说明:请注意这里的数据规模。
本题直接的想法是直接使用一个循环来累加,然而,当数据规模很大时,这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试,如果使用1000000000作为你的程序的输入,你的程序是不是能在规定的上面规定的时限内运行出来。
本题另一个要值得注意的地方是答案的大小不在你的语言默认的整型(int)范围内,如果使用整型来保存结果,会导致结果错误。
如果你使用C++或C语言而且准备使用printf输出结果,则你的格式字符串应该写成%I64d以输出long long类型的整数。

【解题思路】
等差数列求和公式:((首项 + 末项) * 项数) / 2

【C++程序代码】

#include<bits/stdc++.h>
using namespace std;int main()
{long long int n;cin >> n;long long int sum = ((1 + n) * n) / 2;cout << sum;return 0;
}
http://www.lryc.cn/news/325245.html

相关文章:

  • Dubbo源码解析-Provider服务暴露Export源码解析
  • 在微信小程序中或UniApp中自定义tabbar实现毛玻璃高斯模糊效果
  • 【JavaScript】JavaScript 程序流程控制 ⑥ ( while 循环概念 | while 循环语法结构 )
  • Keil笔记(缘更)
  • 举4例说明Python如何使用正则表达式分割字符串
  • Java 中的 Math. round(-1. 5) 等于多少?
  • MFC界面美化第三篇----自绘按钮(重绘按钮)
  • 设计模式|工厂模式
  • CHAT~(持续更新)
  • linux系统------------Mysql数据库介绍、编译安装
  • 文件操作3
  • 算法D57 | 动态规划17 | 647. 回文子串 516.最长回文子序列 动态规划总结篇
  • go的限流
  • 补充--广义表学习
  • 【笔记】KaiOS SPN显示逻辑
  • Visual Basic6.0零基础教学(4)—编码基础,数据类型与变量
  • VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准
  • Android 图形渲染和显示系统关系
  • 3.C++:类与对象(下)
  • iOS开发之SwiftUI
  • 2024-简单点-pandas
  • 面试笔记——Redis(双写一致、持久化)
  • 【漏洞复现】科立讯通信指挥调度平台editemedia.php sql注入漏洞
  • css的active事件在手机端不生效的解决方法
  • 00. 认识 Java 语言与安装教程
  • 数据结构-栈-004
  • (第76天)XTTS 升级:11GR2 到 19C
  • 修改网站源码,给电子商城的商品添加图片时商品id为0的原因
  • ffmpeg开发异步AI推理Filter
  • python与excel第七节 拆分工作簿