为什么这个只有60分?数据范围没问题啊

P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目

longlong
by Itache @ 2017-11-21 17:43:26


```cpp #include<bits/stdc++.h> using namespace std; unsigned long long a; int n,m; int main() { scanf("%d%d",&n,&m); a=1ULL*n*m-n-m; printf("%lld",a); return 0; } 因为n*m是大于int的,然而如果n,m是用int存就会自动转回int再赋给a,所以强转一下就可以了 ```
by 打杂的8 @ 2017-11-21 18:06:37


如果是N是M的最小公倍数,那这一题的公式成立吗?为什么?
by 南予 @ 2017-11-24 19:13:05


@[南予](/space/show?uid=32259) 题目保证两个整数是互质的
by Secenary @ 2017-11-25 12:47:48


@[打杂的8](/space/show?uid=26090) 那如果我没有用ans赋值,而是直接输出a*b-a-b,也会出现这种情况吗?我的a,b都是int范围,但是我想题目的数据范围10^9没有超过int范围,可是代码只得了60分
by zhuyunyu @ 2018-02-23 08:19:19


|