求和(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;
}

【程序运行结果如下】

相关推荐
老鼠只爱大米几秒前
LeetCode经典算法面试题 #141:环形链表(快慢指针、标记节点等多种方法详细解析)
算法·leetcode·链表·快慢指针·floyd算法·环形链表
alanesnape7 分钟前
什么是字面量?代码中的常量表示方式解析
算法
偷星星的贼1110 分钟前
C++中的访问者模式实战
开发语言·c++·算法
gjxDaniel29 分钟前
A+B问题天堂版
c++·算法·字符串·字符数组
M__3333 分钟前
动态规划进阶:简单多状态模型
c++·算法·动态规划
未来之窗软件服务35 分钟前
计算机等级考试—Dijkstra(戴克斯特拉)& Kruskal(克鲁斯卡尔)—东方仙盟
算法·计算机软考·仙盟创梦ide·东方仙盟
Hcoco_me38 分钟前
大模型面试题89:GPU的内存结构是什么样的?
人工智能·算法·机器学习·chatgpt·机器人
N.D.A.K44 分钟前
CF2138C-Maple and Tree Beauty
c++·算法
im_AMBER1 小时前
Leetcode 104 两两交换链表中的节点
笔记·学习·算法·leetcode
程序员-King.1 小时前
day159—动态规划—打家劫舍(LeetCode-198)
c++·算法·leetcode·深度优先·回溯·递归