• 1023 Have Fun with Numbers


    1023 Have Fun with Numbers

    0、题目

    Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a different permutation. Check to see the result if we double it again!

    Now you are suppose to check if there are more numbers with this property. That is, double a given number with k digits, you are to tell if the resulting number consists of only a permutation of the digits in the original number.

    Input Specification:

    Each input contains one test case. Each case contains one positive integer with no more than 20 digits.

    Output Specification:

    For each test case, first print in a line “Yes” if doubling the input number gives a number that consists of only a permutation of the digits in the original number, or “No” if not. Then in the next line, print the doubled number.

    Sample Input:

    1234567899
    
    • 1

    Sample Output:

    Yes
    2469135798
    
    • 1
    • 2

    1、大致题意

    给出一个长度不超过20的整数,问这个整数两倍后的数位是否为原数位的一个排列。不管是yes还是no最后都要输出整数乘以2的结果

    2、基本思路

    简单题

    3、AC代码

    #include 
    #include 
    using namespace std;
    int book[10];
    int main() {
    	char num[22];
    	scanf("%s", num);
    	int flag = 0, len = strlen(num);
    	for(int i = len - 1; i >= 0; i--) {
    		int temp = num[i] - '0';
    		book[temp]++;
    		temp = temp * 2 + flag;
    		flag = 0;
    		if(temp >= 10) {
    			temp = temp - 10;
    			flag = 1;
    		}
    		num[i] = (temp + '0');
    		book[temp]--;
    	}
    	int flag1 = 0;
    	for(int i = 0; i < 10; i++) {
    		if(book[i] != 0)
    			flag1 = 1;
    	}
    	printf("%s", (flag == 1 || flag1 == 1) ? "No\n" : "Yes\n");
    	if(flag == 1) printf("1");
    	printf("%s", num);
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    springcloud3 分布式事务-seata的四种模式总结以及异地容灾
    软设上午题错题知识点7
    【python数学建模】Matplotlib库
    解决哈希冲突的方案
    MySQL 入门教程
    Android 13.0 SystemUI修改状态栏电池图标样式为横屏显示
    Python——字符串
    如何提交高质量的Bug记录?
    Java1.8+ JUC包的ConcurrentHashMap源码分析
    时序分解 | MATLAB实现ICEEMDAN+SE改进的自适应经验模态分解+样本熵重构分量
  • 原文地址:https://blog.csdn.net/qq_46371399/article/details/126410942