সমাধানঃ ২৪ এর ফ্যাক্টর 1,2,3,4,6,8,12,24 ,প্রাইম ফ্যাক্টর হবে 2,3 এবং largest prime factor হবে 3।
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
int main() | |
{ | |
long long number; | |
printf("Enter a number to know its largest prime factor: "); | |
scanf("%lld",&number); | |
long long div=2, maxFact; | |
while(number!=0){ | |
if(number % div !=0) | |
div = div + 1; | |
else{ | |
maxFact = number; | |
number = number / div; | |
if(number == 1){ | |
printf("%d is the largest prime factor !",maxFact); | |
// ans = 1; | |
break; | |
} // end 2nd if | |
} // end else | |
} // end loop | |
return 0; | |
} // end main |
এখানে long long ব্যাবহার করার কারন হচ্ছে 60085147143 int এর Range কে overflow করে ফেলবে। আমরা জানি int এর Range হচ্ছে 2^32 মানে ০ থেকে 4294967295 যা 600851475143 থেকে অনেক কম long long modifier int এর Range কে 16 বিট,16 বিট করে বাড়াবে, তখন number এর Range হবে 2^48। long int এর বা int এর range সাধারণত 32 bit ধরা হয়।
(long long int number আর long long number একই কথা)
(long long int number আর long long number একই কথা)