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

每日刷题(二十八)

1.Fibonacci数列

在这里插入图片描述
在这里插入图片描述
这个题千万不要用递归做,因为递归只适合做小点的数据,这里的数据范围很大,而递归一旦面对大的数据只会耗费大量内存,速度慢,因为要形成很多栈空间。
正确的方法是用非递归方式处理

#include<stdio.h>

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.圆的面积

在这里插入图片描述
在这里插入图片描述
这里也没有难度,这里推荐大家使用一个直接可以的出π数值的方法,用头文件math.h中的atan,π = atan(1.0) * 4,因为他没有明确指出输入数字的类型,所以这里我统一用double型,详细C代码如下:

#include<stdio.h>
#include<math.h>

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

3.序列求和

在这里插入图片描述
在这里插入图片描述
这里数字范围规定得更大,都到十亿了,所以我们必须要用long long型才能攻克这道题,同时如果输入时十亿,那么以这个数量级会耗费很长时间,所以这里可以考虑“二分“,详细代码如下:

#include<stdio.h>

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问题

这个简直就是在侮辱智商的题目,根本不算题目!!!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
C代码:

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

C++代码:

#include <iostream>
 
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);
    }
}

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

发布了40 篇原创文章 · 获赞 7 · 访问量 3105

猜你喜欢

转载自blog.csdn.net/qq_44631615/article/details/104828378