这是从Codility三角问题: 一个零索引的数组A由N个整数的中给出。 甲三重峰(P,Q,R)是三角形的,如果0≤P < Q <ř< N和: A [P] + A [Q]> A [R], A [Q] + A [P],A [P], A [R] + A [P]> A [Q]。 写功能: int solution(vector<int> &A);
如果存在用于此阵列的三角形三元组,并返回0,否则 ,
我一直在用c编程一段时间。但从来没有使用整数环绕的程序。我知道如果整数分配4个字节,那么整数范围变为-2,147,483,648至2,147,483,647。如果我们超过了限制,它只是环绕一下。 我正在使用下面的程序来了解如何环绕发生。 #include <stdio.h>
int main() {
int n = 4, s = 2;
for (int i = 0; i < n; ++i
有没有什么聪明的方法来解决这个问题? uint32_t a = 16637510;
uint32_t b = 45627362;
uint32_t c = 0;
c = a * 100000/b //overflows
c = (a * 100/b)*1000 //gives 36000
我需要得到结果c = 36463或更好36464.并且需要快速,非浮动操作。 CPU是STM32F