function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
bros.sfdcbros.sfdc 

how to find that number is even/odd or prime number or armstrong or a palindrome.

Hi,

I am new to salesforce.pl anyone can help me how to implement trigger for the following

        When a number is inserted, how to find that number is even/odd or prime number or armstrong or a palindrome.

Thanks in advance

ngabraningabrani

Programming for these type of tasks is similar in all languages. The operators supported by Apex are availabler here -

http://www.salesforce.com/us/developer/docs/apexcode/Content/langCon_apex_expressions_operators_understanding.htm

 

As an example for even/odd, you could do the following. Lets say x is the original number.

y = x/2;

z = y * 2;

If(z == x) { System.Debug('Even'); }

else System.Debug('Odd');

 

As an example if x is 7, y will be set to 3 and z will be set to 6. As z will not be equal to x, Odd will be printed.

Jeff MayJeff May

Welcome to Salesforce!!

 

To get familiar with the Apex programming language, start with the easy one --even/odd.  Here is a link to the Apex Dev Guide (http://www.salesforce.com/us/developer/docs/apexcode/index.htm).  Google will also be your best friend.  Seach for 'salesforce apex <whatever>".  And, of course, we are here to help you over the rough spots.

 

 

Beer NutthawanBeer Nutthawan
Try this 
Integer i = 5; 
if(math.mod(i, 2) == 0){
    system.debug('this is even: ' + i);
}else{
    system.debug('this is odd: ' + i);
}

 
Tushar Tyagi 45Tushar Tyagi 45
// Let say this trigger is for an account object. And on account object, there is a field called number__c.

trigger WhatNumber on Account(before insert)
{
    
    for(Account acc:trigger.new)
    {
        string PallindromeNo=checkPallindrome(acc.number__c);
        system.debug('No is '+PallindromeNo);
        if(acc.number__c/2==0)
        {
            system.debug('EVEN NUMBER');
        }
        
        else
        {
            system.debug('ODD NUMBER');
        }
    }
    
    public string checkPallindrome(integer x)
    {
         
        integer reversedInteger = 0, remainder, originalInteger;
    // reversed integer is stored in variable 
    while( x!=0 )
    {
        remainder = x%10;
        reversedInteger = reversedInteger*10 + remainder;
        x /= 10;
    }

    // palindrome if orignalInteger and reversedInteger are equal
    if (originalInteger == reversedInteger)
    {
        return 'Pallindrome';
    }
    else
    {
       return 'NOTpallindrome'; 
    }
    
    }
}

 
Midles SmithMidles Smith
for me for me, this thread solution worked  https://salesforce.stackexchange.com/questions/164931/is-there-a-way-to-call-javascript-after-action-on-visualforce-page
https://notepad.software/ https://vidmate.onl/download/ https://filezilla.software/
Deepali KulshresthaDeepali Kulshrestha
Hi,

Please try this code:
public class CheckNum {
    public static void func(Integer num){
        if(math.mod(num,2)==0){
            System.debug('num is Even');
        }else if(math.mod(num,2)!=0){
            System.debug('num is Odd');
        }
        //Checking if the number is an armstrong number or not
        Integer originalnum, remainder;
        Double result = 0, n = 0 ;
        originalnum = num;
        
        while (originalnum != 0)
        {
            originalnum /= 10;
            ++n;
        }
        originalnum = num;
        while (originalnum != 0)
        {
            remainder = math.mod(originalnum,10);
            result += math.pow(remainder, n);
            originalnum /= 10;
        }
        if(result == num)
            System.debug(num+' is an Armstrong num');
        else
            System.debug(num+' is not an Armstrong num');
        String str1='';
        String stringNum = String.valueOf(num);
        str1 = stringNum.reverse();
        if(str1==num)
            System.debug('Number is pallindrome');
    }
}

For trigger replace 'num' with the field which you want to check or the number which you are inserting in the database.
 

I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.

Thanks and Regards,
Deepali Kulshrestha
www.kdeepali.com
Ankit WadibhasmeAnkit Wadibhasme
Hi developer, To try This code

Integer x = 10; 
if(math.mod(x, 2) == 0){
    system.debug('this is even number: ' + x);
}
else
{
    system.debug('this is odd number: ' + x);
}
Naman negi 1Naman negi 1
@Deepali Kulshrestha You have provided great logic , 
Few things i would like to add in pallindrome logic is that when you compare in if condition , it will throw error as we are comparing string and integer 
//
 String str1='';        
String stringNum = String.valueOf(num);      
str1 = stringNum.reverse();      
if(str1==num)            
System.debug('Number is pallindrome');
//
Corrected Logic


 String str1='';
        String stringNum = String.valueOf(num);
        str1 = stringNum.reverse();
        integer nnum = Integer.ValueOf( str1 );
        if(nnum==num)
            System.debug(num +'Number is pallindrome');
        else 
            System.debug(num+'Number is not a pallindrome');

Thanks & Regards
Naman Negi