Contest - 中南大学第六届大学生程序设计竞赛(Semilive)

题1:1160十进制-十六进制

注意他给的数据范围 2^31,int是 2^31-1

View Code
#include<iostream>

using namespace std;



int main()

{

    unsigned int n;

    while(scanf("%u",&n)!=EOF)

           printf("0x%08X\n",n);

    

    return 0;

}

 

题2:1161Sums
这题虽然是大数相加,但是有别于以前的大数相加,给你n(位),然后输入a,b,表示两个数的一位的数,然后相同位数的数字相加

这题的细节就是理解题意

1.The integers may contain leading zeroes.输出前导0;

2.Output exactly N digits in a single line.他给了几位输出几位,就算自高位进位了也无需理会

3. the next N lines contain two digits each.//digit就0-9

View Code
#include <stdio.h>

int a[1000010];

int main(int argc, char *argv[])

{

    

    int i,n;

    int x,y;

    while(scanf("%d",&n)!=EOF)

    {

       for (i=0;i<n;i++)

       {

              scanf("%d%d",&x,&y);

              a[i]=x+y;          

          }

          int c=0;

          for (i=n-1;i>=0;i--)

          {

                int s=a[i]+c;

                a[i]=s%10;

                c=s/10;

          }

          for (i=0;i<n;i++)

             printf("%d",a[i]);

          printf("\n");   

    }

    return 0;

}

 

 

你可能感兴趣的:(test)