PTA乙级 (1048 数字加密 (20分))

1048 数字加密 (20分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240

第一次提交:

 错误原因:a的位数大于b时,b不足的位需要补0做运算!

第二次提交:

代码:

#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstdio>
using namespace std;
int main()
{
	int a[102]={0},b[102]={0};
	int i=1,j=1,k=1;
	char chr1[102],chr2[102];
	int len1,len2,len;
	cin>>chr1>>chr2;
	len1=strlen(chr1);
        len2=strlen(chr2);
	for(i=len1-1;i>=0;i--)
	{
		a[k]=chr1[i]-‘0‘;
		k++;
	}
	for(i=len2-1;i>=0;i--)
	{
		b[j]=chr2[i]-‘0‘;
		j++;
	}
	if(len1>len2) len=len1;
	else len=len2;
	for(i=1;i<=len;i++)
	{
		if(i%2==1) b[i]=(b[i]+a[i])%13;
		else{
			if(b[i]<a[i]) b[i]=b[i]-a[i]+10;
			else b[i]=b[i]-a[i];
		    }
	}
	for(i=len;i>=1;i--)
	{
		if(b[i]==10) cout<<"J";
		else if(b[i]==11) cout<<"Q";
		else if(b[i]==12) cout<<"K";
		else cout<<b[i];
	}
	return 0;
}

原文地址:https://www.cnblogs.com/jianqiao123/p/12231558.html

时间: 2024-10-07 09:21:55

PTA乙级 (1048 数字加密 (20分))的相关文章

PAT 乙级 1048 数字加密(20) C++版

1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代表12:对偶数位,用B的数字减去A的数字,若结果为负数,则再加10.这里令个位为第1位. 输入格式: 输入在一行中依次给出A和B,均为不

1048. 数字加密(20)

1048. 数字加密(20) 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代表12:对偶数位,用B的数字减去A的数字,若结果为负数,则再加10.这里令个位为第1位. 输入格式: 输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果. 输入样例: 1234567 368782971 输出样

PAT-乙级-1048. 数字加密(20)

1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10.Q代表11.K代表12:对偶数位,用B的数字减去A的数字,若结果为负数,则再加10.这里令个位为第1位. 输入格式: 输入在一行中依次给出A和B,均为不

PAT 1048. 数字加密(20)

本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代表12:对偶数位,用B的数字减去A的数字,若结果为负数,则再加10.这里令个位为第1位. 输入格式: 输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果. 输入样例: 1234567 368782971 输出样例: 3695Q8118代码写

PAT 乙级 1048 数字加密

输入样例: 1234567 368782971 输出样例: 3695Q8118 思路很容易就能想到.注意,如果两个数字长度不相等,需要在短的那一个数字前面补零. #include <iostream> #include <stdio.h> #include <string.h> #include <string> #include <map> #include <queue> #include <stack> #inclu

1048 数字加密(20 分)

1048 数字加密(20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余--这里用 J 代表 10.Q 代表 11.K 代表 12:对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10.这里令个位为第 1 位. 输入格式: 输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果.

PAT 1048 数字加密(字符串)

本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10.Q 代表 11.K 代表 12:对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10.这里令个位为第 1 位. 输入格式: 输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果. 输入样例: 1234567 3

PAT乙级 1019. 数字黑洞 (20)

1019. 数字黑洞 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数. 例如,我们从6767开始,将得到 7766 - 6677 = 10899810 - 018

PAT乙级 1012. 数字分类 (20)

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数