链接:https://ac.nowcoder.com/acm/problem/14416 来源:牛客网 给出n个整数和x,请问这n个整数中是否存在三个数a,b,c使得ax2+bx+c=0,数字可以重复使用。
时间: 2024-01-26 08:05:09 浏览: 240
这是一个经典的问题,我们可以枚举三个数a,b,c,检查是否满足ax^2+bx+c=0的条件。时间复杂度为O(n^3)。但是,我们还可以使用哈希表来进行优化。具体来说,我们可以枚举a和b,然后计算c的值,如果c的值在哈希表中出现过,那么就找到了一个解。否则,我们就将c的值插入到哈希表中。时间复杂度为O(n^2)。
以下是代码实现(使用C++语言):
相关问题
链接:https://ac.nowcoder.com/acm/problem/22159 来源:牛客网 帮助牛牛计算 1+(1+2)+(1+2+3)+...+(1+2+3+...+n) 输入描述: 输入一个整数 输出描述: 输出一个整数
这道题目要求我们计算1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值。我们可以使用两个for循环来实现这个计算过程,外层循环控制1到n的范围,内层循环控制每个数的累加和。具体实现可以参考下面的代码。
代码如下:
```
#include <stdio.h>
int main() {
long long n, sum = 0;
scanf("%lld", &n);
for (int i = 1; i <= n; i++) {
long long temp = 0;
for (int j = 1; j <= i; j++) {
temp += j;
}
sum += temp;
}
printf("%lld", sum);
return 0;
}
```
链接:https://ac.nowcoder.com/acm/problem/222122 来源:牛客网 lxh有两根长度相差不超过2的木棍,现在他希望再有一根木棍尽可能短,但需要比 ( � + � ) 6 ( n + m ) 6 长或者刚好相等且需要是整数长度,来让他做一个他觉得是完美的大箭头标记,但是他现在犯迷糊了,不知道这个长度应该是多少,你能帮帮他吗?
题目描述:
给定两个整数 $n$ 和 $m$,求一个整数 $k$,使得 $k$ 满足以下条件:
1. $|k-\frac{n+m}{6}|\leq 1$
2. $k\geq\frac{n+m}{6}$
求这样的 $k$ 的最小值。
解题思路:
我们可以将条件 1 改写成 $\frac{n+m}{6}-1\leq k\leq\frac{n+m}{6}+1$,然后再根据条件 2,可以得到 $k=\lceil\frac{n+m}{6}\rceil$。其中 $\lceil x\rceil$ 表示不小于 $x$ 的最小整数。
代码实现:
阅读全文