Мой код печатает 192 для ввода 100 (что является желаемым результатом). Но когда я отправляю его в онлайн-судье, он показывает, что выход моей программы для ввода 100 равен 190. Я скопировал и вставил код в ideone.com, а для ввода 100 получил результат 192. Я отправляю его своему другу а на его ПК - 190. Но он также отправил код на ideone.com и получил 192. В чем проблема? Вот мой код:Программа на C++ дает разные результаты на разных компьютерах
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
int main(){
lli in,ans = 0;
cin >> in;
if(in < 10)
cout << in << endl;
else{
lli digits = 0;
lli temp = in;
while(temp > 0){
digits++;
temp /= 10;
}
digits--;
while(in > 0){
//cout << "in: " << in << endl;
//cout << "digits: " << digits << endl;
ans += ((in - (pow(10,digits) - 1)) * (digits + 1));
in = in - (in - (pow(10,digits) - 1));
digits--;
if(in == 9){
ans+= 9;
break;
}
}
cout << ans << endl;
}
}
ideone ссылка: http://ideone.com/zOvHzW
Почему это происходит? Я понимаю, что это может быть проблема с компилятором, но что здесь происходит?
Прочтите инструкции CodeChef о том, как обрабатывать ввод и вывод! :) – Ajay
Боковое примечание, [не '#include'] (https://stackoverflow.com/questions/31816095/why-should-i-not-include-bits-stdc-h) –
CoryKramer
Почему бы не включить? –