- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决一个问题:
编写一个程序计算非负整数之间的差值。
输入的每一行都由一对整数组成。每个整数都在 0 到 10 之间提高到 15(含)。输入在文件末尾终止。
对于输入中的每一对整数,输出一行,包含它们差的绝对值。
这是我的解决方案:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int x;
int y;
int z;
cin >> x >> y;
if(x && y <= 1000000000000000){
z=x-y;
cout << std::abs (z);
}
}
但问题是我的答案错了,请帮我更正我的答案并解释为什么错了。
最佳答案
对于初学者来说,int
类型对象的有效值范围通常小于 1000000000000000
。您应该使用足够宽的整数类型来存储这么大的值。合适的类型是 unsigned long long int
,因为根据赋值,输入的值是非负数。
否则,您还需要检查这些值是否不是大于或等于零的负数。
还有if语句中的条件
if(x && y <= 1000000000000000){
错了。相当于
if(x && ( y <= 1000000000000000 )){
反过来等同于
if( ( x != 0 ) && ( y <= 1000000000000000 )){
不一样
if ( ( x <= 1000000000000000 ) && ( y <= 1000000000000000 ) ){
程序可以如下所示
#include <iostream>
int main()
{
const unsigned long long int UPPER_VALUE = 1000000000000000;
unsigned long long int x, y;
while ( std::cin >> x >> y )
{
if ( x <= UPPER_VALUE && y <= UPPER_VALUE )
{
std::cout << "The difference between the numbers is "
<< ( x < y ? y - x : x - y )
<< std::endl;
}
else
{
std::cout << "The numbers shall be less than or equal to "
<< UPPER_VALUE
<< std::endl;
}
}
}
如果例如输入这些值
1000000000000000 1000000000000000
1000000000000001 1000000000000000
1 2
然后程序输出看起来像
The difference between the numbers is 0
The numbers shall be less than or equal to 1000000000000000
The difference between the numbers is 1
关于c++ - 绝对值/减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389591/
我正在尝试解决一个问题: 编写一个程序计算非负整数之间的差值。 输入: 输入的每一行都由一对整数组成。每个整数都在 0 到 10 之间提高到 15(含)。输入在文件末尾终止。 输出: 对于输入中的每一
我有一个这样的数据框: Current Dataframe: ID Price Price_List 0 Prodt1 1500 [-5.2, -4.6, -3.3,
很难解释...让我试试: 我构建了一个脚本来比较两个用户的兴趣(爱好) 假设用户 A 有 44 种爱好,并且与用户 B(有 19 种爱好)有 13 种共同爱好所以在伪代码中(其中 % 是我的公式):
我在 LINQ 查询中使用 EntityFunctions 类: var a = dbContext.Where(x=>EntityFunctions.DiffMinutes(dateA,dateB)
我正在做一项作业,我应该返回 3 个值中最小的一个(绝对值,如程序所述)。当只需要返回 2 个值时,它工作得很好,但是当我添加第三个值时,它开始在方法内的 Math.min 处显示“找不到符号”。 :
我写了一个名为 absD 的函数,我想返回它的参数的绝对值..我在 cygwin 中使用 GCC 内联汇编.. 我不明白为什么它不起作用。我正在加载到内存中。然后进入 st(0)我在哪里使用 fabs
以原始形式。 svm 中很少有 alpha 值为正,相应的 x 将是支持向量,如图所示 http://en.wikipedia.org/wiki/Support_vector_machine . 如果
我对 xcode 中 ABS(A) 和 abs(int) 这两者的区别感到困惑。似乎也无法在网上找到任何解释。我应该使用哪个?我实际上正在研究加速度计。使用 ABS(A) 和 abs(int) 给了我
我一直在努力尝试理解 pandas 时间戳和时间增量。我喜欢你使用它们的方式,但在尝试减法时我发现这有点奇怪: now = pd.Timestamp('now') then = now - pd.to
假设我有一个对称矩阵 M,它不是正(半)定的,我想计算它的 k 顶(绝对值)特征值(和相应的特征向量)。现在,可以使用截断的 SVD 来做到这一点,它将返回所述特征值的绝对值,然后必须检查符号并找到相
问题很简单。我需要一行命令,例如, Math.round((-Math.random() * 2)) , 输出 只是显示 1 和 -1 .我试图弄清楚,但这似乎不是一件容易的事!我可以使用 IF 命令
我有一个看起来像这样的表: Country | Item | Col1 | Col2 | Col3 | Col4 4 | 4 | .152 | .01 | .65 | 1
我是 Laravel 框架的新手,我正在寻找如何编写查询以获得绝对值(简而言之,忽略 + 和 - 符号,只显示数据库中的数字。我知道我们可以使用 Abs 来获得它。但我不知道该怎么做。看看我的代码:
Working jsfiddle 对 jQuery/javacript 来说还是个新手,但我有 2 个函数,它们在检查时对隐藏值求和,并且我需要生成它们差异的绝对值: $(document).read
我有这个数据框和代码。 from pandas import DataFrame import pandas as pd import numpy as np df = pd.DataFrame({'
我知道 - 过早的优化。 但是我有代码可以查明某个位置是否发生了变化,而不是缓存的位置。 当前代码是: if(abs(newpos-oldpos) > 1){ ..... } 使用下面的是不是
This question它的答案描述了为什么 i32 上的 abs() 返回 i32 而不是 u32。它说“似乎公认的解决方法是使用 as u32 进行转换”。但是,如果参数是 std::i32::
我是一名优秀的程序员,十分优秀!