2023届3.4春招阿里第一场笔试研发岗题目总结及题解

您所在的位置:网站首页 阿里招聘笔试时间 2023届3.4春招阿里第一场笔试研发岗题目总结及题解

2023届3.4春招阿里第一场笔试研发岗题目总结及题解

2024-06-04 11:03| 来源: 网络整理| 查看: 265

阿里巴巴春季2023届校园招聘在线笔试研发岗3.4场

ps:题目来源nb网友口述

1.晶体的数目 题目大意:

一种多边形晶体材料时间每经过1秒,每边晶体数量会增加1个 增加的晶体尺寸规则如下

1.始终保持规则的正A边形,每条边上晶体数量相同 2.每经过一秒,晶体就会在外侧增加最少个数的“单位晶体”使得每个边上的晶体数目都增加1,并且保持正A边形的形状

问A个生长时间为B的晶体块一共有多少个“单位晶体”,给定晶体边数量和晶体生长时间。 (数据范围: 1 ≤ n ≤ 1 0 3 , 3 ≤ A ≤ 100 , 0 ≤ B ≤ 100 1\leq n \leq 10^3,3 \leq A \leq 100,0 \leq B \leq 100 1≤n≤103,3≤A≤100,0≤B≤100)

思路:

对于每一个图形,起始为1,每秒增加 ( A − 2 ) (A-2) (A−2)条有相交的直线晶体,一条直线晶体数量为 i + 1 , i+1, i+1,交点数量为 ( A − 3 ) (A-3) (A−3), 交点重复计算要减掉。所以每秒增加量为 ( A − 2 ) ∗ ( i + 1 ) − ( A − 3 ) (A-2)*(i+1)-(A-3) (A−2)∗(i+1)−(A−3)。

参考程序: #include using namespace std; typedef long long ll; int main() { ll n, A, B; cin >> n; ll ans = 0; while (n--) { cin >> A >> B; ans++; for (int i = 1; i ll n; cin >> n; ll ans = ((n + 1) / 2) / 2 * n; if (n % 4 == 0) { ans -= n; } if (n % 3 == 0) { ans -= 2 * (n / 3); } cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3