zoukankan      html  css  js  c++  java
  • 10018 Reverse and Add

    题目大意:

    题目原文:http://uva.onlinejudge.org/external/100/10018.pdf(不知道为什么这个地址打不开了)

    题目是说给我们一个数字,将它逆转然后加上原来的数,然后判断其结果是不是回文数(顺着和逆着看一样),如果不是回文数,则重复以上步骤。

    计算出一个数要几次操作形成回文数,并输出这个回文数。

    直接按题目的意思计算即可。

    附上代码:

    View Code
     1 #include<stdio.h>
     2 long p10(long a)//返回10^a 
     3 {
     4  long x=1;
     5  while(a--)
     6   x*=10;
     7  return x;
     8 }
     9 
    10 int bit(long a)//计算a的位数 
    11 {
    12  int i=0;
    13  while(a)
    14  {
    15   a/=10;
    16   i++;
    17  }
    18  return i;
    19 } 
    20 
    21 long initial(long a)//返回a的逆转数 
    22 {
    23  int bi,i;
    24  long b=0;
    25  bi=bit(a);
    26  for(i=1;i<=bi;i++)
    27  {
    28   b+=a%p10(i)/p10(i-1)*p10(bi-i);
    29  }
    30  return b;
    31 }
    32 
    33 int main()
    34 {
    35  long a,n,x;
    36  scanf("%ld",&n);
    37  while(n--)
    38  {
    39   scanf("%ld",&a);
    40   x=0;
    41   while(a!=initial(a)) //判断是否回文数
    42   {
    43    a+=initial(a);
    44    x++;
    45   }
    46   printf("%ld %ld\n",x,a);
    47  }
    48  return 0;
    49 }
  • 相关阅读:
    C#中的Json序列化
    c#在sqlserver中使用EF框架
    Mvc中模拟模型
    localdb启动
    List泛型用法(半转载半原创)
    C#中真正的属性
    委托的简介、使用和简单事件
    类嵌套_list泛型_餐馆点菜例
    JavaIO
    JavaIO
  • 原文地址:https://www.cnblogs.com/syiml/p/2910186.html
Copyright © 2011-2022 走看看