zoukankan      html  css  js  c++  java
  • NYOJ 485

    题目:

    A*B Problem
    
    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2
     
    描述
    设计一个程序求出A*B,然后将其结果每一位相加得到C,如果C的位数大于等于2,继续将C的各位数相加,直到结果是个一位数k。
    
    例如:
    
    6*8=484+8=121+2=3;
    
    输出3即可。
    
     
    输入
    第一行输入一个数N(0<N<=1000000),表示N组测试数据。
    随后的N行每行给出两个非负整数m,n(0<=m,n<=10^12)。
    输出
    对于每一行数据,输出k。
    样例输入
    3
    6 8
    1234567 67
    454 1232
    样例输出
    3
    4
    5
    View Code

    自己的代码:超时

     1 #include <iostream>
     2 #include <string.h>
     3 using namespace std;
     4 
     5 char a[15],b[15];
     6 int results[30],len_results=0;
     7 
     8 int* Mulit(char *a,char *b)
     9 {
    10     int len_a=strlen(a);
    11     int len_b=strlen(b);
    12     int begin_pos=0,i;
    13     memset(results,0,30*sizeof(int));
    14     for(i=0;i<len_a;i++)
    15     {
    16         for(int k=0;k<len_b;k++)
    17         {
    18             results[begin_pos+k]+=(a[i]-48)*(b[k]-48);
    19         }
    20         begin_pos++;
    21     }
    22     len_results=begin_pos+len_b-1;
    23     return results;
    24 }
    25 
    26 int main()
    27 {
    28     int n;
    29     cin>>n;
    30     while (n--)
    31     {
    32         cin>>a>>b;
    33         Mulit(a,b);
    34         int sum=0,k=0;
    35         for(int i=0;i<len_results;i++)
    36         {
    37             sum+=results[i];
    38         }
    39         if(sum<10)
    40             cout<<sum<<endl;
    41         else if(sum%9==0)
    42             cout<<9<<endl;
    43         else
    44             cout<<sum%9<<endl;
    45     }
    46     return 0;
    47 }
    View Code

    自我感觉我这代码算是比较简洁的了,难道是思路上还有要改进的地方???再仔细想想

  • 相关阅读:
    mysql定时删除数据
    【video__播放】视频播放插件video7.4.1使用
    【ueditor__使用】百度ueditor富文本编辑器
    【 CSS__样式收集】常用样式案例收集整理
    【Layui__监听button】在form中监听按钮事件
    【Layui__分页和模板】分页和模板的整合使用
    【Layui__模板引擎】layui.laytpl
    DataTable转list
    反射方法创建委托
    EPPlusHelper
  • 原文地址:https://www.cnblogs.com/ouweiqideblog/p/3274244.html
Copyright © 2011-2022 走看看