Mam problem z zadaniem http://pl.spoj.com/problems/WZP09_2F/
Mój kod dostaje przekroczono limit czasu. Jak mogę to inaczej sprawdzić lub przyspieszyć mój kod?
#include<iostream>
#include<string>
#include<cstdlib>
std::string divisible_15(std::string value);
int main() {
std::string input;
while(std::cin >> input && input!="0") {
std::cout << divisible_15(input) << "\n";
}
return 0;
}
std::string divisible_15(std::string value) {
const char *last_digit=value.substr(value.size()-1, 1).c_str();
if(atoi(last_digit)!=5 && atoi(last_digit)!=0)
return"NIE";
int sum_of_digits=0;
for(int i=0;i<value.size();++i) {
const char *digit=value.substr(i, 1).c_str();
sum_of_digits+=atoi(digit);
}
if(sum_of_digits%3==0)
return "TAK";
else return "NIE";
}