Язык C++Дано два естественных числа a, b; aN; bN.На отрезке от
Язык C++
Дано два естественных числа a, b; aN; bN.
На отрезке от a до b нужно отыскать натуральное число с наибольшим произведением его цифр. Каким образом это можно сделать более оптимально.
include lt;iostreamgt;
using namespace std;
int main()
string a,b;
int m,k=0;
coutlt;lt;"a = "; cingt;gt;a;
coutlt;lt;"b = "; cingt;gt;b;
int ind=b.length();
if (a.length()==b.length())
while ((a[k]==b[k]) amp;amp; (klt;b.length()-1)) k++;
for (int i=k; ilt;b.length()-1; i++)
if (b[i]==48) break;
m=b[i+1]-48;
if (ilt;b.length()-2) m--;
if ((b[i]-48)*m lt; max((b[i]-49),1)*9)
if ((b[i]-49==0) amp;amp; (igt;0)) continue;
ind=i+1; b[i]--; break;
for (int i=ind; ilt;b.length(); i++) b[i]='9';
if (b[0]=='0') b.erase(0,1);
coutlt;lt;blt;lt;endl;
system("pause");
return 0;
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.