两段代码有什么区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两段代码有什么区别?相关的知识,希望对你有一定的参考价值。
所以最近我试图解决一个由于某些原因我写了一些代码而无法工作的问题(代码#1)
#include <iostream>
typedef long long ll;
using namespace std;
ll k;
ll x, t;
int main()
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> t;
while(t--)
cin >> k >> x;
ll i = 0;
while(i < 10)
if (i % 9 == x)
break;
++i;
k--;
i += 9*k;
cout << i << "\n";
而下面的代码确实起作用
#include <iostream>
typedef long long ll;
using namespace std;
ll k;
ll x, t;
int main()
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> t;
while(t--)
cin >> k >> x;
k--;
ll i = 9*k + x;
cout << i << "\n";
x的约束:1 <= x <= 9k:1 <= k <= 10 ^ 12。请注意,x永远不会为0,因此从根本上讲,i为1/0的问题并不是原因。但是我仍然不明白为什么这样做,因为结果似乎是一样的。和反例有什么区别?
答案
此代码块
以上是关于两段代码有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章