// palindromefree.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <string>
using namespace std;
long long int cifra[20];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long int a;
long long int b;
cin >> a;
cin >> b;
long long int palfree = 0;
cifra[0] = 1;
for (int i = 1; i < 19; i++)
{
cifra[i] = cifra[i - 1];
cifra[i] *= 10;
}
for (long long int i = a; i <= b;)
{
string s;
s = to_string(i);
long long int palindrom = -37;
for (int j = 0; j < s.size()-1; j++)
{
if (s[j] == s[j + 1])
{
palindrom =s.size()-(i+1);
palindrom -= 1;
break;
}
else if ((j < s.size() - 2 && s[j] == s[j + 2]))
{
palindrom = s.size() - (i + 2);
palindrom -= 1;
break;
}
}
if (palindrom == -37)
{
palfree += 1;
palindrom = 0;
}
else
{
}
i = (i / cifra[palindrom] * cifra[palindrom]) + cifra[palindrom];
}
cout << palfree << "\n";
//std::cout << "Hello World!\n";
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
// palindromefree.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <string>
using namespace std;
long long int cifra[20];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long int a;
long long int b;
cin >> a;
cin >> b;
long long int palfree = 0;
cifra[0] = 1;
for (int i = 1; i < 19; i++)
{
cifra[i] = cifra[i - 1];
cifra[i] *= 10;
}
for (long long int i = a; i <= b;)
{
string s;
s = to_string(i);
s += 's';
long long int palindrom = -37;
for (int j = 0; j < s.size()-1; j++)
{
if (s[j] == s[j + 1])
{
palindrom =s.size()-(i+1);
palindrom -= 1;
break;
}
else if (s[j] == s[j + 2])
{
palindrom = s.size() - (i + 2);
palindrom -= 1;
break;
}
}
if (palindrom == -37)
{
palfree += 1;
palindrom = 0;
}
else
{
}
i = (i / cifra[palindrom] * cifra[palindrom]) + cifra[palindrom];
}
cout << palfree << "\n";
//std::cout << "Hello World!\n";
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
Compilation message
numbers.cpp: In function 'int main()':
numbers.cpp:30:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | for (int j = 0; j < s.size()-1; j++)
| ~~^~~~~~~~~~~~
numbers.cpp:38:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
38 | else if ((j < s.size() - 2 && s[j] == s[j + 2]))
| ~~^~~~~~~~~~~~~~
numbers.cpp: At global scope:
numbers.cpp:78:15: error: redefinition of 'long long int cifra [20]'
78 | long long int cifra[20];
| ^~~~~
numbers.cpp:9:15: note: 'long long int cifra [20]' previously declared here
9 | long long int cifra[20];
| ^~~~~
numbers.cpp:79:5: error: redefinition of 'int main()'
79 | int main()
| ^~~~
numbers.cpp:10:5: note: 'int main()' previously defined here
10 | int main()
| ^~~~
numbers.cpp: In function 'int main()':
numbers.cpp:100:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
100 | for (int j = 0; j < s.size()-1; j++)
| ~~^~~~~~~~~~~~