首页 > 编程语言 >算法入门(2) 7.3

算法入门(2) 7.3

时间:2024-07-03 23:42:31浏览次数:20  
标签:新数 入门 int 反转 样例 7.3 算法 000 include

[NOIP2011 普及组] 数字反转

题目描述

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

输入格式

一个整数 $N$。

输出格式

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

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

noip2011 普及组第一题

题解

method 1 暴力,究极暴力
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
long long s[11]={},n,k=0,a=1000000000;
int main()
{
	memset(s,0,sizeof(n));
	cin>>n;
	for(int i = 1;i<=10;i++) {
	s[i] = n%10,n/=10;
	k+=s[i]*a,a/=10;
	}//去前导零 
	while(k%10==0) k/=10;//去后置零 
	cout<<k; 
}
method 2 反转时用加法去前导零
#include<bits/stdc++.h>
using namespace std;
int n,s=0;
int main()
{
    cin>>n;//烦死了输入
    while(n) s=s*10+n%10,n/=10;//如果n不是0,就一直s让一位,腾个0出来,n最后一位跟上去,再无情地抛弃了最后一位(突然想对n说:你无情你冷酷你无理取闹!)
    cout<<s;//烦死了输出
    return 0;
}
method 3 栈
#include<bits/stdc++.h>//万能头
using namespace std;
stack<char> p;//定义stack
int main()
{
	char c;
	while(cin>>c)
	{
		if(c=='-')printf("-");//判断正负,如果是负就直接输出,不压栈
		else p.push(c);//否则压进栈里
	}
	while(p.top()=='0')//删除前导0
	p.pop();
	while(!p.empty())//最后输出反转数
	{
		printf("%c",p.top());
		p.pop();
	}
	return 0;//完美结尾
}

标签:新数,入门,int,反转,样例,7.3,算法,000,include
From: https://www.cnblogs.com/LCdbtable/p/18280690

相关文章

  • 软件测试入门---(一)
    1.软件=程序+数据+文档资料(软件测试的对象有哪些?)2.C/S架构和B/S架构的区别:C/S:客户端/服务器,必须安装客户端才能使用。B/S:浏览器/服务器,只需要一个浏览器就可以访问服务。3.软件测试的目的:为了发现程序存在的代码或业务逻辑错误(找bug)检验产品是否符合用户需求(提高质量)提高......
  • 【Node.JS】入门
    文章目录Node.js的入门涉及对其基本概念、特点、安装、以及基本使用方法的了解。以下是对Node.js入门的详细介绍:一、Node.js基本概念和特点定义:Node.js是一个基于ChromeV8引擎的JavaScript运行环境,它使得JavaScript能够运行在服务器端。特点:轻量级:采用事件驱动......
  • [JLU] 数据结构与算法上机题解思路分享-课程设计第一次与第二次上机
    前言首先,请务必自己尽全力尝试实现题目,直接看成品代码,思维就被拘束了,也很容易被查重。这里只是思路解析的博客,代码仓库在JLU_Data_Structures_Record希望你能在这里找到你想要的:)第一次上机A网络布线分数50作者朱允刚单位吉林大学2024年亚洲杯足球赛刚刚落下帷幕,......
  • LeetCode 算法:路径总和 III c++
    原题链接......
  • 7.3
    题目分类大纲如下:算法公开课《代码随想录》算法视频公开课(opensnewwindow):贪心算法理论基础!(opensnewwindow),相信结合视频再看本篇题解,更有助于大家对本题的理解。什么是贪心贪心的本质是选择每一阶段的局部最优,从而达到全局最优。这么说有点抽象,来举一个例子:例如......
  • 【机器学习算法基础】(基础机器学习课程)-07-朴素贝叶斯算法-笔记
    一、朴素贝叶斯算法原理        朴素贝叶斯(NaiveBayes)是一种基于贝叶斯定理的简单而强大的分类算法,尤其适用于文本分类问题,如垃圾邮件检测、情感分析等            二、朴素贝叶斯算法对新闻进行分类案例  1.数据准备假设......
  • 代码随想录算法训练营第四十八天 | 188.买卖股票的最佳时机IV 309.买卖股票的最佳时
    188.买卖股票的最佳时机IV题目链接文章讲解视频讲解动规五部曲:dp数组的含义:dp[j][2*i-1]表示第i次持有股票dp[j][2*i]表示第i次不持有股票递推公式:dp[j][2i-1]=max(dp[j-1][2i-1],dp[j-1][2*i-2]-prices[j]);dp[j][2i]=max(dp[j-1][2i],dp[j-1][2*i-1]......
  • (2-2)A*算法:A*算法的核心思想
    2.2 A*算法的核心思想A*算法的核心思想是结合实际代价和启发式估计,以高效地搜索图形中的最优路径。通过在评估函数中权衡实际代价和启发式估计,A*算法能够在保证找到最优路径的同时,尽可能减小搜索的时间和空间开销。这使得A*算法成为解决路径规划问题的一种高效而灵活的算......
  • 【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法
    一、介绍坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实('杏仁','巴西坚果','腰果','椰子','榛子','夏威夷果','山核桃','松子','开心果','核桃')等图片数据集进行训练,得到一个识别精度较高的模型文件,让后......
  • 代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素
    704.二分查找这个之前有写过,最重要的就是把握住要去搜索的区间的形式,包括左闭右闭以及左闭右开两种classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length;while(left<right){//左闭右开的版本,结果存储......