PAT A1023
简单的大数问题,long long并不能容纳21位数字,这是刚开始没有注意到的
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string>
#include<cstring>
#include<vector>
using namespace std;
using std::vector;
char s[21];
int mem[10]={0};
int main(){
    vector<int>v;
    scanf("%s",s);
    for(int i=0;i<strlen(s);i++){
        mem[s[i]-'0']++;
    }
    //进行乘2大数运算;
    int ct=0;
    for(int i=strlen(s)-1;i>=0;i--){
        int a=(s[i]-'0')*2+ct;
        ct=a/10;
        v.push_back(a%10);
    }
    if(ct!=0)
        v.push_back(ct);
    for(int i=v.size()-1;i>=0;i--){
        mem[v[i]]--;
    }
    bool flag=true;
    for(int i=0;i<10;i++){
        if(mem[i]!=0){
            flag=false;
            break;
        }
    }
    if(flag){
        cout<<"Yes"<<endl;
        for(int i=v.size()-1;i>=0;i--){
            cout<<v[i];
        }
        cout<<endl;
    }else{
        cout<<"No"<<endl;
        for(int i=v.size()-1;i>=0;i--){
            cout<<v[i];
        }
        cout<<endl;
    }
    system("pause");
    return 0;
}
PAT A1023的更多相关文章
- [PAT] A1023 Have Fun with Numbers
		
[题目大意] 给一个不超过20位的数字,如果将它乘以2得到的数仅仅是原来的数字重新排列得到的,那就输出Yes,下一行输出加倍后的数.如果不是,输出No,下一行输出加倍后的数. [思路] 20位过于庞大 ...
 - PAT_A1023#Have Fun with Numbers
		
Source: PAT A1023 Have Fun with Numbers (20 分) Description: Notice that the number 123456789 is a 9- ...
 - PAT甲级——A1023 Have Fun with Numbers
		
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, wit ...
 - PAT 大数运算
		
PAT中关于大数的有B1017,A1023,A1024 (A-Advance,B-Basic) B1017 1017. A除以B (20) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1 ...
 - PAT甲级题解分类byZlc
		
专题一 字符串处理 A1001 Format(20) #include<cstdio> int main () { ]; int a,b,sum; scanf ("%d %d& ...
 - 《转载》PAT 习题
		
博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...
 - PAT Judge
		
原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...
 - PAT/字符串处理习题集(二)
		
B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...
 - PAT 1041. 考试座位号(15)
		
每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...
 
随机推荐
- Visual Studio Code 1.44 设置简体中文界面语言(小白图文教程)
			
作为一款微软出品的编辑器,安装完毕后,默认界面竟然不是中文!而更“丧心病狂”的是菜单里竟然连“设置”或“设置语言”这种PC软件常见选项也没有!!这种设计对小白而言简直 反!!!人!!!类!!! (默认 ...
 - Shiro 笔记
			
功能 认证 授权 加密 session 管理 认证 Subject 是一个与系统交互的实体,可以是人,也可以是其他等 调用 SecurityUtils.getSubject()返回当前Subject, ...
 - PTA | 1014 福尔摩斯的约会 (20分)
			
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字条上奇 ...
 - CF633(div.2)C. Powered Addition
			
题目描述 http://codeforces.com/contest/1339/problem/C 给定一个长度为 \(n\) 的无序数组,你可以在第 \(x\) 秒进行一次下面的操作. 从数组选取任 ...
 - Vulnhub DC-4靶机渗透
			
信息搜集 nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机 nmap -sS -Pn -A 192.168.146.141 可以看到开放了22和80端口,那么就可以 ...
 - Matlab入门(二)
			
数据类型 1.整形 有符号 1 字节整数 -27 - 27-1 int8() 有符号 2 字节整数 -215 - 215-1 int16() 有符号 4 字节整数 -231 - 231-1 int32 ...
 - Android 图片裁剪库 uCrop
			
引语 晚上好,我是猫咪,我的公众号「程序媛猫咪」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我. 现在 Android 开发,离不开图片,必然也需要图片裁剪功能,这个实现可以调用系统的 ...
 - MySQL REPLACE INTO 的使用
			
前段时间写游戏合服工具时出现过一个问题,源DB和目标DB角色表中主键全部都不相同,从源DB取出玩家数据再使用 replace into 写入目标DB中,结果总有几条数据插入时会导致目标DB中原有的角色 ...
 - Vue-router 第10节 路由中的钩子
			
Vue-router 第10节 路由中的钩子 [TOC] 第10节 路由中的钩子 我们知道一个组件从进入到销毁有很多的钩子函数,同样在路由中也设置了钩子函数.路由的钩子选项可以写在路由配置文件中,也可 ...
 - NumPy学习2:创建数组
			
1.使用array创建数组 b = array([2, 3, 4])print bprint b.dtype 2.把序列转化为数组 b = array( [ (1.5,2,3), (4,5,6) ] ...