求和(2022蓝桥杯A组试题C)

【问题描述】

给定n个整数a1,a2,......an,(1,2......n为下标),求它们两两相乘再相加的和。

S= a1*a2+a1*a3+......a1*an+a2*a3+......+an-2*an-1+an-2*an+an-1*an。(数字及n为下标)

输入:第一行包含一个整数n,第二行包含n个整数a1,a2,......an。(数字及n为下标)

输出:输出一个整数S,表示所求的和。使用合适的数据类型进行运算。

【输入样例】

4

1 3 6 9

【输出样例】

117

下面给出3个代码,分别得到30%、60%、100%的分数。

【试题解析】

题目的描述非常直白。大一刚学编程的同学也能做这道题,直接按题目给的公式算,用两个for循环实现。这称为模拟,就是模拟题目的要求简单、直接地编码。

【参考程序如下】

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>
int a[200010];
int main(int argc, char *argv[]) {
	int n,i,j;
	scanf("%d",&n);
	for( i = 1; i <= n; i++)
	scanf("%d",&a[i]);  //输入n个整数
	int s = 0;
	for( i = 1; i <= n - 1; i++) //按题目的公式求和
	   for( j = i + 1; j <= n; j++)
	   s += a[i] * a[j];
	printf("%d",s); 
	return 0;
}

【程序运行结果如下】

相关推荐
菜菜的顾清寒6 分钟前
Leetcode (18) 力扣100 矩阵置零
算法
董董灿是个攻城狮14 分钟前
5分钟搞懂微调的能力退化问题
算法
广州山泉婚姻17 分钟前
C语言循环结构精讲:底层认知与实用技巧
c语言·人工智能
handler0117 分钟前
Linux: 基本指令知识点(3)
linux·服务器·c语言·开发语言·c++·笔记
wuminyu21 分钟前
专家视角看Java线程生命周期与上下文切换的本质
java·linux·c语言·jvm·c++
穿条秋裤到处跑31 分钟前
每日一道leetcode(2026.04.19):下标对中的最大距离
算法·leetcode·职场和发展
Sag_ever44 分钟前
时间复杂度与空间复杂度超详细入门讲解
算法
念越1 小时前
算法每日一题 Day03|快慢双指针解决快乐树问题
算法·力扣
jgec21 小时前
哈工大计算机系统2024大作业——Hello的程序人生
c语言·计算机系统
ZPC82101 小时前
MoveGroup 规划轨迹 → 直接交给 MoveIt2 Servo 执行
人工智能·算法·计算机视觉·机器人