ধরুন আমাদের একটি সংখ্যা n আছে, এবং আমাদের এই সংখ্যাটির স্থানান্তর খুঁজে বের করতে হবে, যেটি 3 দ্বারা বিভাজ্য, কিন্তু 6 দ্বারা বিভাজ্য নয়। যদি এমন কোনো মান তৈরি করা না যায়, তাহলে -1 দিন। উদাহরণস্বরূপ, যদি n 336 হয়, তাহলে আউটপুট 363 হতে পারে।
আমরা জানি যে একটি সংখ্যা 6 দ্বারা বিভাজ্য মানে এটি 3 এবং 2 দ্বারা বিভাজ্য। সুতরাং 3 দ্বারা বিভাজ্য প্রতিটি জোড় সংখ্যা 6 দ্বারা বিভাজ্য হবে। যদি আমরা একটি সংখ্যার অঙ্কগুলিকে 3 দ্বারা বিভাজ্য এবং জোড় পরিবর্তন করি , এটি বিজোড় করতে, এটি ফলাফল হবে।
উদাহরণ
#include<iostream>
#include<cmath>
using namespace std;
int findNumber(int n) {
int digit_count = ceil(log10(n));
for (int i = 0; i < digit_count; i++) {
if (n % 2 != 0) {
return n;
} else {
n = (n / 10) + (n % 10) * pow(10, digit_count - i - 1);
continue;
}
}
return -1;
}
int main() {
int n = 132;
cout <<"The permutation of "<<n << " that is divisible by 3 but not by 6 is:"<< findNumber(n);
} আউটপুট
The permutation of 132 that is divisible by 3 but not by 6 is:213