zoukankan      html  css  js  c++  java
  • 洛谷 P1307 数字反转

    时间限制 1.00s

    内存限制 125.00MB




    题目描述

    给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。



    输入格式

    一个整数\(N\)



    输出格式

    一个整数,表示反转后的新数。



    输入输出样例

    输入 #1 输出 #1
    123 321
    输入 #2 输出 #2
    -380 -83



    说明/提示

    数据范围

    \(−1,000,000,000≤N≤1,000,000,000\)

    noip2011普及组第一题




    PZ' solution

    1.使用\(N \% 10\)每次取 \(N\) 的最后一位,用新的变量\(ans\)累加它;

    2.\(ans=ans*10+N \% 10\),其作用是 每次把取得的\(N\)的最后一位 变为\(ans\)的最后一位;

    3.可以发现这种做法能巧妙地解决 前置零和中间零 的问题;

    4.利用\(N=N/10\)\(N\)的最后一位消去,直到\(N\)变为\(0\)为止;

    ps.由于python负数取模的运算规则与其他语言略有不同,所以在python代码中取模时要判断\(N\)是否\(<0\)



    P1307 C++ .cpp

    #include<cstdio> //#include<stdio.h>
    using namespace std; 
    int x,ans;
    int main(){
    	scanf("%d",&x);
    	while(x!=0){
    		ans=ans*10+x%10;
    		x=x/10;
    	}
    	printf("%d",ans);
    	return 0;
    }
    
    



    P1307 Python.py

    x=int(input());
    res=0;
    
    while x!=0:
        if(x>0):
            res=res*10+x%10;
        else:
            res=res*10-(-x)%10;
        x=int(x/10);
        
    print(res);
    
  • 相关阅读:
    设计模式(18)>职责链模式 小强斋
    设计模式(17)>中介者模式 小强斋
    设计模式(16)>原型模式 小强斋
    设计模式(20)>状态模式 小强斋
    设计模式(15)>桥接模式 小强斋
    设计模式(18)>职责链模式 小强斋
    堆栈的工作原理
    掌握udev
    Qt Model/View 学习笔记 (七)
    Qt Model/View 学习笔记 (六)
  • 原文地址:https://www.cnblogs.com/Potrem/p/LuoguP1307.html
Copyright © 2011-2022 走看看