10035 - Primary Arithmetic

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: 10035 - Primary Arithmetic

Post by brianfry713 » Fri Sep 12, 2014 10:41 pm

Try input 1 0
Check input and AC output for thousands of problems on uDebug!

mousumi5570
New poster
Posts: 5
Joined: Thu Oct 16, 2014 8:15 am

Re: 10035

Post by mousumi5570 » Thu Oct 16, 2014 7:51 pm

why WA?

Code: Select all

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    long long int a,b;
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    while(scanf("%lld %lld\n",&a,&b))
    {

        if(a==0 && b==0) return 0;
        int m,n;
        int count=0;
        int p=0;
        while(a||b)
        {
            m=a%10;
            n=b%10;
            a=a/10;
            b=b/10;
            if(m+n+p>9)
            {
                count++;
                p=(m+n+p)/10;
            }

        }
        if(count==0) printf("No carry operation.\n");
        if(count==1) printf("%d carry operation.\n",count);
        if(count>1) printf("%d carry operations.\n",count);

    }
    return 0;
}
Last edited by brianfry713 on Fri Oct 17, 2014 10:16 pm, edited 1 time in total.
Reason: Added code blocks

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

Re: 10035 - Primary Arithmetic

Post by brianfry713 » Fri Oct 17, 2014 10:16 pm

Don't read and write to files.
Check input and AC output for thousands of problems on uDebug!

mousumi5570
New poster
Posts: 5
Joined: Thu Oct 16, 2014 8:15 am

Re: 10035 - Primary Arithmetic

Post by mousumi5570 » Sat Oct 18, 2014 5:09 pm

why wa?checked a lot.someone help plz....

Code: Select all

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    long long int a,b;
    while(scanf("%lld %lld\n",&a,&b))
    {

        if(a==0 && b==0) return 0;
        int m,n;
        int count=0;
        int p=0;
        while(a||b)
        {
            m=a%10;
            n=b%10;
            a=a/10;
            b=b/10;
            if(m+n+p>9)
            {
                count++;
                p=(m+n+p)/10;
            }

        }
        if(count==0) printf("No carry operation.\n");
        if(count==1) printf("%d carry operation.\n",count);
        if(count>1) printf("%d carry operations.\n",count);

    }
    return 0;
}
Last edited by brianfry713 on Tue Oct 21, 2014 7:36 pm, edited 1 time in total.
Reason: Added code blocks

lighted
Guru
Posts: 585
Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek

Re: 10035 - Primary Arithmetic

Post by lighted » Sat Oct 18, 2014 5:48 pm

Use code tags.

Input

Code: Select all

811 119
0 0
Acc Output

Code: Select all

1 carry operation.
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman

Helaluddin_brur
New poster
Posts: 15
Joined: Tue Oct 21, 2014 4:08 pm
Location: Bangladesh
Contact:

Re: 10035 - Primary Arithmetic

Post by Helaluddin_brur » Thu Oct 23, 2014 2:53 pm

removed after ac

This Is ERFAN
New poster
Posts: 6
Joined: Thu Dec 04, 2014 11:40 pm

Re: 10035 - Primary Arithmetic

Post by This Is ERFAN » Thu Dec 04, 2014 11:46 pm

Why wrong answer..?

Code: Select all

#include<stdio.h>

int main()
{
    unsigned int a,b;

    for(;;)
    {
        scanf("%u %u",&a,&b);
        if(a==0&&b==0) return 0;
        if(a<b)
        {
            int temp=a;
            a=b;
            b=temp;
        }
        int i,j,k,x[10],y[10],p;
        for(i=0; a>0; i++)
        {
            p=a/10;
            x[i]=a%10;
            a=p;
        }
        for(j=0; b>0; j++)
        {
            p=b/10;
            y[j]=b%10;
            b=p;
        }
        i--;
        j--;
        if(j!=i)
        {
            int s;
            for(s=i; s>j; s--)
            {
                y[s]=0;
            }
        }
        int count=0;
        for(k=0; k<=i; k++)
        {
            int sum=x[k]+y[k];
            if(sum>=10)
            {
                count++;
                x[k+1] =x[k+1]+1;
            }
        }
        if(count==0) printf("No carry operation.\n");
        else printf("%d carry operations.\n",count);
    }
    return 0;
}

lighted
Guru
Posts: 585
Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek

Re: 10035 - Primary Arithmetic

Post by lighted » Fri Dec 05, 2014 11:53 am

Try to copy/paste output format from problem description or sample.

Your Output

Code: Select all

1 carry operations.
Sample Output

Code: Select all

1 carry operation.
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman

joalva3
New poster
Posts: 1
Joined: Thu Apr 23, 2015 9:49 pm

Re: 10035 - Primary Arithmetic

Post by joalva3 » Mon May 04, 2015 6:27 pm

¿Can someone help me? I checked everything and I don't find a mistake. I have to say that I am learning C++.
Thanks.

Code: Select all

#include <fstream>
#include <iostream>
#include <string>

using namespace std;

int main() {
    ifstream in ("input");
    ofstream out ("output");
    
    string dato1, dato2;
    int long1, long2, carry, index1, index2, aux1, aux2;
    bool flag;
   
    cin >> dato1 >> dato2;
    if (dato1== "0" && dato2 == "0") return 0;
        
    while (dato1 != "0" || dato2 != "0") {
             
        carry = 0;
        flag = false;
        long1 = dato1.length() - 1;
        long2 = dato2.length() - 1;

        while (long1 > -1 && long2 > -1) {

            aux1 = dato1.at(long1) - 48;
            aux2 = dato2.at(long2) - 48;

            if (flag) aux1++;

            if (aux1 + aux2 >= 10) {
                carry++;
                flag = true;
            } else flag = false;



            long1--;
            long2--;
        }

        while (long1 > -1 && flag) {
            if (dato1.at(long1) - 47 == 10) carry++;
            long1--;
        }
        
        while (long2 > -1) {
            if (dato2.at(long2) - 47 == 10) carry++;
            long2--;
        }

        if (carry == 0) cout << "No carry operation.";
        else if (carry == 1) cout << "1 carry operation.";
        else cout << carry << " carry operations.";
        cout << "\n";
        cin >> dato1 >> dato2;
        
    }
    return 0;
}

anikpro
New poster
Posts: 1
Joined: Thu May 07, 2015 9:28 am

Re: 10035 - Primary Arithmetic

Post by anikpro » Thu May 07, 2015 9:40 am

Why WA ????

Code: Select all

#include <stdio.h>

int main()
{
    long long int a, b;
    int flag=0;

    while(scanf("%lld %lld", &a, &b) && a>0 || b>0)
    {
        if(a < b)
        {
            int swap = a;
            a = b;
            b = swap;
        }
        for(int i=1;; i++)
        {
            if(a==0 && b==0)
                break;
            int rem1, rem2;
            rem1 = a%10;
            rem2 = b%10;
            a = a/10;
            b = b/10;
            if(rem1+rem2 >9)
            {
                flag++;
                b++;
                int rem3 = b%10;
                if(rem3==0)
                    b--;
            }
        }

        if(flag == 0)
            printf("No carry operation.\n");
        else if(flag==1)
            printf("1 carry operation.\n");
        else
            printf("%d carry operations.\n",flag);
        flag = 0;
    }
}

joy398
New poster
Posts: 1
Joined: Wed Jan 06, 2016 9:29 am

Re: 10035 - Primary Arithmetic

Post by joy398 » Wed Jan 06, 2016 9:44 am

HELP!!why WA?I have already tried many cases and the answer is correct.

Code: Select all

#include <stdio.h>

int main(void)
{
    unsigned int a, b;
    int carry, c, mod1, mod2;
    while(1)
    {
        scanf("%u %u",&a, &b);
        carry = 0;
        if(a == 0 && b == 0)
        {
            break;
        }
        if(b > a)
        {
            a = a^b;
            b = a^b;
            a = a^b;
        }
        while(a > 0)
        {
            mod1 = a%10;
            mod2 = b%10;
            a /= 10;
            b /= 10;
            c = mod1 + mod2;
            if(c > 9)
            {
                carry++;
                a += (c/10);
            }
        }
        if(!carry)
            printf("No carry operation.\n");
        else if(carry == 1)
            printf("%d carry operation.\n", carry);
        else
            printf("%d carry operations.\n", carry);
    }

    return 0;
}


yaohsiao
New poster
Posts: 1
Joined: Thu Feb 04, 2016 6:33 am

Re: 10035 - Primary Arithmetic

Post by yaohsiao » Thu Feb 04, 2016 6:40 am

joy398 wrote:HELP!!why WA?I have already tried many cases and the answer is correct.

Code: Select all

#include <stdio.h>

int main(void)
{
    unsigned int a, b;
    int carry, c, mod1, mod2;
    while(1)
    {
        scanf("%u %u",&a, &b);
        carry = 0;
        if(a == 0 && b == 0)
        {
            break;
        }
        if(b > a)
        {
            a = a^b;
            b = a^b;
            a = a^b;
        }
        while(a > 0)
        {
            mod1 = a%10;
            mod2 = b%10;
            a /= 10;
            b /= 10;
            c = mod1 + mod2;
            if(c > 9)
            {
                carry++;
                a += (c/10);
            }
        }
        if(!carry)
            printf("No carry operation.\n");
        else if(carry == 1)
            printf("%d carry operation.\n", carry);
        else
            printf("%d carry operations.\n", carry);
    }

    return 0;
}

Try this one "9998877 9998"
should return 7 carry operations.

Cpx
New poster
Posts: 2
Joined: Thu Oct 06, 2016 12:38 pm

Re: 10035 - Primary Arithmetic

Post by Cpx » Thu Oct 06, 2016 12:53 pm

Why WA I'm very confused
please help me

Code: Select all

#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<utility>
#include<vector>
//#include<fstream>
using namespace std;
int xi[10];
int yi[10];
vector<char>xc;
vector<char>yc;
int main(){
	//ofstream o;
	//o.open("tst1.txt");
	long long a=1, b=1, c,f,g,z=10,p,spl,trigss=3;
	bool gee = false;
	char m[1], n[1];
	string d, e;
	cin >> a;
	cin >> b;
	while (a != 0 || b != 0) {
		z = 10;trigss = 3;
		gee = false;
		c = 0;p = 0;c = 0;
		d = to_string(a);
		e = to_string(b);
		f = d.length();
		g = e.length();
		if (z > f) {
			z = f;
			trigss = 0;
		}
		if (z > g) {
			z = g;
			trigss = 1;
		}
		for (int i = 0; i < f; i++) {
			xc.push_back(d.at(i));
		}
		for (int i = 0; i < g; i++) {
			yc.push_back(e.at(i));
		}
		reverse(xc.begin(), xc.end());
		reverse(yc.begin(), yc.end());
		for (int i = 0; i < z; i++)
		{
			m[0] = xc[i];
			n[0] = yc[i];
			if (gee) {
				spl = atol(m) + atol(n) + 1;
				gee = false;
			}
			else {
				spl = atol(m) + atol(n);
			}
			if (spl >= 10) {
				gee = true;
				c++;
			}
		}
		if (gee) {
			if (trigss == 0) {
				while (z < g) {
					n[0] = yc[z];
					if (atol(n) + 1 >= 10) {
						c++;
					}
					else {
						break;
					}
					z++;
				}
			}
			else
			{
				while (z < f) {
					m[0] = xc[z];
					if (atol(m) + 1 >= 10) {
						c++;
					}
					else
					{
						break;
					}
					z++;
				}
			}
			gee = false;
		}
		if (c == 0) {
			cout << "No carry operation." << endl;
			//o << "No carry operation." << endl;
		}
		else if (c == 1) {
			cout << c << " carry operation." << endl;
			//o << c << " carry operation." << endl;
		}
		else
		{
			cout << c << " carry operations." << endl;
			//o << c << " carry operations." << endl;
		}
		xc.clear();
		yc.clear();
		cin >> a >> b;
	}
	return 0;
}

lighted
Guru
Posts: 585
Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek

Re: 10035 - Primary Arithmetic

Post by lighted » Tue Mar 14, 2017 1:55 pm

Input

Code: Select all

1 1
0 0
Correct output

Code: Select all

No carry operation.
Try to check input in this thread and on uDebug before posting. https://www.udebug.com/UVa/10035
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman

Post Reply

Return to “Volume 100 (10000-10099)”