10018 - Reverse and Add

All about problems in Volume 100. If there is a thread about your problem, please use it. If not, create one with its number in the subject.

Moderator: Board moderators

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 10018 - Reverse and Add

Post by brianfry713 » Wed Jan 07, 2015 3:03 am

Check My Submissions for the reason for your CE.
Write your own strrev()
Check input and AC output for thousands of problems on uDebug!

scyphi
New poster
Posts: 1
Joined: Thu Jun 18, 2015 12:43 am

Re: 10018 - Reverse and Add

Post by scyphi » Thu Jun 18, 2015 12:45 am

Why is my code giving me wrong answer?

Code: Select all

/*Problem 10018*/
#include <stdio.h>

unsigned int addReverse(unsigned int);
int palindrome(unsigned int);

int main() {
   
   int num;
   scanf("%d", &num);
   
   unsigned int added, c;
   while (num--) {
      c = 0;
      scanf("%d", &added);
      do {
         added = addReverse(added);
         c++;
      } while (!palindrome(added));
      
      printf("%d %d\n", c, added);
   }
   
	return 0;
}

unsigned int addReverse(unsigned int added) {
   unsigned int reverse = 0, temp = added;
   while (temp != 0) {
      reverse *= 10;
      reverse += temp % 10;
      temp /= 10;
   }
   
   return added + reverse;
}

int palindrome(unsigned int added) {
   unsigned int reverse = 0, temp = added;
   while (temp != 0) {
      reverse *= 10;
      reverse += temp % 10;
      temp /= 10;
   }
   return added == reverse ? 1 : 0;
}

Sifat_mbstu
New poster
Posts: 1
Joined: Wed Jun 17, 2015 7:30 pm

Re: 10018 - Reverse and Add

Post by Sifat_mbstu » Fri Jun 19, 2015 11:11 am

I submit the following COde several days ago .....Sample input output everything is okay. But Verdict is COMPILATION ERROR...
it would be my pleasure if anybody Help.
My Code is:

Code: Select all

#include <stdio.h>
int main()
{
    long long int n, rev,original,num,c,test_num;
    int a[100];
    scanf("%lld",&test_num);
    for(c=1; c<=test_num; c++)
    {
        scanf("%lld", & n);
        while(n!=rev)
        {
            original=n;
            rev=0;
            while (n!=0)
            {
                rev=rev*10;
                rev=rev+n%10;
                n=n/10;
            }
            if(rev==num)
            {
                break;
            }
            num=rev+original;
            n=num;
        }
        printf("%lld\n",num);
    }
    return 0;
}

palusijf
New poster
Posts: 1
Joined: Fri Oct 16, 2015 4:43 pm

Re: 10018 - Reverse and Add

Post by palusijf » Fri Oct 16, 2015 4:48 pm

Hello,

All test are OK but I still have WA !
Could you help me please ?
Here the code :

Code: Select all

#include <stdio.h>
#include <stdlib.h>
int revNumber( long long n )
{
    long long rev = 0;
    while(n) {
        rev = rev * 10 + (n % 10);
        n /= 10;
    }
    return rev;
}
int main()
{
    int nbCase = 0, i = 0;
    int count = 0;
    long long n = 0, sum = 0;

    scanf("%d", &nbCase);

    for(i = 0; i < nbCase; i++) {
        scanf("%lld", &n);
        sum = n + revNumber(n);
        count = 1;

        while (revNumber(sum ) != sum) {
            sum = revNumber(sum) + sum;
            count += 1;
        }
        printf("%d %lld\n", count, sum);
    }

    return 0;
}
Last edited by brianfry713 on Tue Oct 27, 2015 3:22 am, edited 1 time in total.
Reason: Added code block

bluddypaul
New poster
Posts: 1
Joined: Tue Mar 15, 2016 7:46 am

Re: 10018 - Reverse and Add

Post by bluddypaul » Tue Mar 15, 2016 7:48 am

Your program doesn't work with 4000000000

Post Reply

Return to “Volume 100 (10000-10099)”