适合新手的蓝桥杯入门训练四道题满分超全题解

每日刷题(二十八)

1.Fibonacci数列

适合新手的蓝桥杯入门训练四道题满分超全题解_第1张图片
适合新手的蓝桥杯入门训练四道题满分超全题解_第2张图片
这个题千万不要用递归做,因为递归只适合做小点的数据,这里的数据范围很大,而递归一旦面对大的数据只会耗费大量内存,速度慢,因为要形成很多栈空间。
正确的方法是用非递归方式处理

#include

int main()
{
	
	int i = 1, j = 1, sum = 0;
	int n, t;
	scanf("%d",&n);
	if(n == 1 || n == 2)
	{
		printf("1");
		return 0;
	}
	for(t = 3; t <= n; t++) 
	{
		sum = (i + j) % 10007;
		i = j % 10007;
		j = sum % 10007;
	}
	printf("%d\n", sum);
	return 0;
} 

2.圆的面积

适合新手的蓝桥杯入门训练四道题满分超全题解_第3张图片
适合新手的蓝桥杯入门训练四道题满分超全题解_第4张图片
这里也没有难度,这里推荐大家使用一个直接可以的出π数值的方法,用头文件math.h中的atan,π = atan(1.0) * 4,因为他没有明确指出输入数字的类型,所以这里我统一用double型,详细C代码如下:

#include
#include

int main()
{
	double PI = atan(1.0) * 4;
	double r;
	scanf("%lf",&r);
	printf("%.7lf\n", PI * r * r);
	return 0;
} 

3.序列求和

适合新手的蓝桥杯入门训练四道题满分超全题解_第5张图片
适合新手的蓝桥杯入门训练四道题满分超全题解_第6张图片
这里数字范围规定得更大,都到十亿了,所以我们必须要用long long型才能攻克这道题,同时如果输入时十亿,那么以这个数量级会耗费很长时间,所以这里可以考虑“二分“,详细代码如下:

#include

int main()
{
	long long n, sum = 0, i, t, j; 
	scanf("%lld", &n);
	t = n / 2;
	for(i = 1; i <= t; i++)
		sum += i;
	for(j = t + 1; j <= n; j++)
		sum += j;
	printf("%lld\n", sum);
	return 0;
}

4.A+B问题

这个简直就是在侮辱智商的题目,根本不算题目!!!
适合新手的蓝桥杯入门训练四道题满分超全题解_第7张图片
适合新手的蓝桥杯入门训练四道题满分超全题解_第8张图片

适合新手的蓝桥杯入门训练四道题满分超全题解_第9张图片
C代码:

#include 
 
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d", a+b);
    return 0;
}

C++代码:

#include 
 
using namespace std;
 
int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

Java代码:

import java.util.*;
 
public class Main
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        Integer a = sc.nextInt();
        Integer b = sc.nextInt();
        System.out.println(a + b);
    }
}

如果喜欢我的文章,请记得三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 ↖(▔▽▔)↗感谢支持,下期更精彩!!!

你可能感兴趣的:(蓝桥杯训练题题解)