4.20打卡

发布时间 2023-04-21 01:11:22作者: jiuxiao
一、

给定 �n 个整数 �1,�2,⋅⋅⋅,��a1​,a2​,⋅⋅⋅,an​ ,求它们两两相乘再相加的和,即:

�=�1⋅�2+�1⋅�3+⋯+�1⋅��+�2⋅�3+⋯+��−2⋅��−1+��−2⋅��+��−1⋅��S=a1​⋅a2​+a1​⋅a3​+⋯+a1​⋅an​+a2​⋅a3​+⋯+an−2​⋅an−1​+an−2​⋅an​+an−1​⋅an​

输入格式

输入的第一行包含一个整数 �n。

第二行包含 �n 个整数 �1,�2,⋯,��a1​,a2​,⋯,an​。

输出格式

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

#include <stdio.h>
int main(int argc, char *argv[])
{
  long int a[200000]={0};
  long int n=0,i=0,k=0;
  scanf("%ld",&n);
  long int s=0;
  for(i=1;i<=n;i++){
    scanf("%d",&a[i]);
  }  
  for(i=1;i<n;i++){
    k+=a[i];
    s+=a[i+1]*k;
  }
  printf("%ld",s);
  return 0;
}
二、

小明用字母 �A 对应数字 11,�B 对应 22,以此类推,用 �Z 对应 2626。对于 2727 以上的数字,小明用两位或更长位的字符串来对应,例如 ��AA 对应 2727,��AB 对应 2828,��AZ 对应 5252,��LQ 对应 329329。

请问 20192019 对应的字符串是什么?

#include <stdio.h>

void calc(int a) {
    if (a > 26)
        calc(a / 26);
    printf("%c", 'A' + (a % 26) - 1);
}

int main() {
    calc(2019);
    return 0;
}
三、
有 aaa 个蛋挞,分给 bbb 个人,使得每个人分得蛋挞数量一样且尽量多。这样会导致可能有一些蛋挞没被分走,导致浪费,于是牛牛准备回收这些蛋挞并一口吃下全部。牛牛想知道是自己吃的多还是分蛋挞的每个人吃得多?

如果牛牛吃得多,输出 "niuniu eats more than others",如果分蛋挞的每个人吃得多,输出 "niuniu eats less than others",如果一样多输出 "same"(均不含引号)。

#include<iostream>
using namespace std;
int main(){
int sum,over,niuniu;
long long a,b;
cin >> a >> b;
over=a/b;
sum = over*b;
niuniu=a-sum;
if(niuniu>over) cout << "niuniu eats more than others";
if(niuniu<over) cout << "niuniu eats less than others";
if(niuniu==over) cout << "same";
}