Hej! Mam zadanko, najmniejszy problem jest z kodem, a największy z pomysłem. Otóż: "Adam wymyślił nową zagadkę.
Polega ona na znalezieniu najmniejszej liczby , której iloczyn cyfr jest równy N". Napisałam taki najprostszy sposób:
#include <iostream>
#include <string.h>
using namespace std;
int ilo(string x)
{
int h=1;
for (int i=0; i<x.size(); i++)
{
h=h*(x[i]-'0');
}
return h;
}
int intToStr(int n)
{
string tmp, ret;
if(n < 0) {
ret = "-";
n = -n;
}
do {
tmp += n % 10 + 48;
n -= n % 10;
}
while(n /= 10);
{
for(int i=tmp.size()-1; i>=0; i--)
ret += tmp[i];
}
return ilo(tmp);
}
int main()
{
int x;
cin>>x;
for (int i=1; i<=1000000005; i++)
{
if (intToStr(i)==x)
{
cout<<i<<endl;
return 0;
}
}
return 0;
}
Problem jest z limitami czasu :/
Pomoże ktoś? Jakiś pomysł? Dzięki :)