相关疑难解决方法(0)

求平方和时,是否需要显式处理负数或零?

我最近在课堂上做了一个测试。问题之一是:

给定一个数字n,用C / C ++编写一个函数,该函数返回数字平方的数字总和。(以下内容很重要)。的范围Ñ为[ - (10 ^ 7),10 ^ 7]。示例:如果n = 123,则您的函数应返回14(1 ^ 2 + 2 ^ 2 + 3 ^ 2 = 14)。

这是我写的函数:

int sum_of_digits_squared(int n) 
{
    int s = 0, c;

    while (n) {
        c = n % 10;
        s += (c * c);
        n /= 10;
    }

    return s;
}
Run Code Online (Sandbox Code Playgroud)

看着我正确。所以现在测试又回来了,我发现老师由于我不明白的原因没有给我所有的分数。据他说,为了使我的功能更完整,我应该添加以下细节:

int sum_of_digits_squared(int n) 
 {
    int s = 0, c;

    if (n == 0) {      // …
Run Code Online (Sandbox Code Playgroud)

c

213
推荐指数
6
解决办法
2万
查看次数

具有负值的模运算符

为什么这样的操作:

std::cout << (-7 % 3) << std::endl;
std::cout << (7 % -3) << std::endl;
Run Code Online (Sandbox Code Playgroud)

给出不同的结果?

-1
1
Run Code Online (Sandbox Code Playgroud)

c++

156
推荐指数
3
解决办法
13万
查看次数

"mod"和"remaining"之间有什么区别?

我的朋友说"mod"和"rest"之间存在差异.

如果是这样,那么C和C++的差异是什么?"%"是指C中的"mod"还是"rem"?

c math operators

116
推荐指数
4
解决办法
10万
查看次数

如何在C/C++/Obj-C中编写处理负数的模数(%)运算符

我厌恶的C语言(作为一名数学家)就是这样的

(-1) % 8 // comes out as -1, and not 7

fmodf(-1,8) // fails similarly
Run Code Online (Sandbox Code Playgroud)

什么是最好的解决方案?

C++允许模板和运算符重载的可能性,但这些对我来说都是模糊的.感激地收到了例子.

c c++ operator-overloading modulo c++11

81
推荐指数
5
解决办法
23万
查看次数

最大子阵列和模M

我们大多数人都熟悉最大和子阵列问题.我遇到了这个问题的一个变体,要求程序员输出模数为M的所有子阵列总和的最大值.

解决这种变体的天真方法是找到所有可能的子阵列总和(其数量为N ^ 2,其中N是数组的大小).当然,这还不够好.问题是 - 我们怎样才能做得更好?

示例:让我们考虑以下数组:

6 6 11 15 12 1

设M = 13.在这种情况下,子阵列6 6(或12或6 6 11 15或11 15 12)将产生最大总和(= 12).

algorithm binary-search modulo kadanes-algorithm

29
推荐指数
2
解决办法
1万
查看次数

C++中带负数的模数

我一直在编写以下重现关系的程序:

An = 5An-1 - 2An-2  - An-3 + An-4
Run Code Online (Sandbox Code Playgroud)

输出应该是答案模数10 ^ 9 + 7 ..我为此写了一个蛮力方法如下......

long long int t1=5, t2=9, t3=11, t4=13, sum;
while(i--)
{
    sum=((5*t4) - 2*t3 - t2 +t1)%MOD;
    t1=t2;
    t2=t3;
    t3=t4;
    t4=sum;
}
printf("%lld\n", sum);
Run Code Online (Sandbox Code Playgroud)

其中MOD= 10^9 +7 每件事似乎都是真的..但我得到了一些价值的否定答案..由于这个问题,我无法找到正确的解决方案...... Plz帮助保持正确的地方Modulus

c++ recurrence modulo

21
推荐指数
3
解决办法
3万
查看次数

如何使负数的mod变为正数?

基本上,我需要(-3) % 5是"2"而不是"-3".Python产生"2",但C++产生"-3".不知道如何在C++中生成"2".谢谢!

c++

20
推荐指数
3
解决办法
1万
查看次数

ANSI C或ISO C是否指定-5%10应该是什么?

我似乎记得ANSI C没有指定当模运算符的操作数为负时应该返回什么值(只是它应该是一致的).它是否稍后被指定,或者是否总是被指定并且我记得不正确?

c c99 modulo c89

19
推荐指数
1
解决办法
2282
查看次数

模运算符结果的符号?

我有几行C代码测试模运算符如下:

// line 1
printf("%d\n", 5 % (-3)); => output: 2
// line 2
printf("%d\n", -5 % 3); => output: -2
Run Code Online (Sandbox Code Playgroud)

我知道模数的符号取决于分子的符号,但我很好奇为什么不这样做呢?

c modulo

5
推荐指数
1
解决办法
1575
查看次数

C 中负数的模

在 C 语言中,以下代码...

#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<stdlib.h>

int main() {
   int result = (-12) % (10);
   printf("-12 mod 10 = %d\n",result);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

给出这个输出

> gcc modTest.c
> ./a.out
-12 mod 10 = -2
Run Code Online (Sandbox Code Playgroud)

但根据这个 mod 计算器-12 mod 10 = 8

在Python中...

> python
Python 3.3.0 (default, Mar 26 2013, 09:56:30)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> (-12) % (10)
8
Run Code Online (Sandbox Code Playgroud)

C 中发生了什么,产生 -2 而不是 …

c negative-number modulus

5
推荐指数
1
解决办法
3587
查看次数