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;
}

 

 

posted @ 2014-07-30 06:59  calmound  阅读(234)  评论(0编辑  收藏  举报