I - the Sum of Cube

HPU专题训练(-1)GCD&&素筛&&快速幂_____I - the Sum of Cube

A range is given, the begin and the end are both integers. You should sum the cube of all the integers in the range.
InputThe first line of the input is T(1 <= T <= 1000), which stands for the number of test cases you need to solve. 
Each case of input is a pair of integer A,B(0 < A <= B <= 10000),representing the range[A,B].OutputFor each test case, print a line “Case #t: ”(without quotes, t means the index of the test case) at the beginning. Then output the answer – sum the cube of all the integers in the range.Sample Input
2
1 3
2 5
Sample Output
Case #1: 36
Case #2: 224
/*
	计算范围内的立方和 
*/

#include<stdio.h>

int main()
{
	int t;
	scanf("%d",&t);
	for(int j=1;j<=t;j++)
	{
		long long int a,b,sum=0;
		scanf("%lld %lld",&a,&b);
		for(long long int i=a;i<=b;i++)
		{
			sum+=i*i*i;
		}
		printf("Case #%d: %lld\n",j,sum);
	 } 
	
	
	return 0;
 } 


#include "main.h" #include "gpio.h" #include "MPU6050.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN PTD */ #define DEBOUNCE_MS 200 // 去抖动时间(ms) #define G_TO_CM_S2 981.0f // 1g = 981 cm/s² #define ACCEL_SENSITIVITY 16384.0f // ±2g量程对应的灵敏度 /* USER CODE END PTD */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ float current_z_g = 0.0f; // 当前Z轴加速度(g) float current_accel_cm_s2 = 0.0f; float avg_accel = 0.0f; float accel_sum = 0.0f; float accel_cm_s2 = 0.0f; float valid_accel = 0.0f; float Z_THRESHOLD = 0.0f; float initial_z_accel_g = 0.0f; // 初始Z轴加速度值(单位:g) uint32_t last_toggle_time = 0; // 记录上次LED状态切换的时间 float prev_z_g = 0.0f; // 上一次的Z轴加速度值(单位:g) /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ uint8_t ID; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ void Blink_Error(uint8_t error_code) { for (int i=0; i<error_code; i++) { HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); HAL_Delay(1000); } HAL_Delay(1000); } /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ uint8_t ID; int16_t AX, AY, AZ, GX, GY, GZ; MPU6050_Init(); MPU6050_calibrate(); /* USER CODE BEGIN 2 */ ID = MPU6050_GetID(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ // if(ID == 0xFF) // { // HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // HAL_Delay(50); // } // else // { // HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // HAL_Delay(3000); // } MPU6050_GetData(&AX, &AY, &AZ, &GX, &GY, &GZ); current_z_g = AZ / ACCEL_SENSITIVITY; // 实时更新当前加速度 current_accel_cm_s2 = (current_z_g - initial_z_accel_g) * G_TO_CM_S2; if (current_accel_cm_s2 > Z_THRESHOLD) { // 去抖动处理 if (HAL_GetTick() - last_toggle_time > DEBOUNCE_MS) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); //亮了即触发 last_toggle_time = HAL_GetTick(); } } prev_z_g = current_z_g; // 更新前一次的值 HAL_Delay(50); // 控制检测频率 } /* USER CODE END 3 */ } 以这个代码为基础,开发环境为cubeide和cubemx,将代码修改成实时读取current_z_g和current_accel_cm_s2的代码(不用printf,只需要启动读取,间隔为0.5s)
05-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值