题解:回文平方(3月24日)

该C++代码实现了一个函数hui,它接受两个整数k和B,将k的平方分解并进行特定编码。主函数遍历1到299,对每个数调用hui函数,输出处理结果。编码涉及到将数字转换为ASCII值表示的字母或数字。
摘要由CSDN通过智能技术生成
#include<bits/stdc++.h>
using namespace std;
int  d[20];
int  b[20];
char a[20];
char c[20];
void hui(int k,int B){
	int l=0,r=0,ans=0;
	int n=k*k;
	while(n){
		b[r]=n%B;
		n=n/B;
		r++;		
	}r--;
	int r1=r;		
	while(l<r1){
	if(b[l]!=b[r1])
	return;
		l++,r1--;		
		}	
	while(k){
		d[ans]=k%B;
		k=k/B;
		ans++;		
	}ans--;
	for(int i=ans;i>=0;i--){
		if(d[i]>9)
			 a[i]='A'+d[i]-10;			
		else 
			a[i]='0'+d[i];
		cout<<a[i];			
	}
	cout<<" ";
	
	for(int i=0;i<=r;i++){
		if(b[i]>9)
			c[i]='A'+b[i]-10;
		else
			c[i]='0'+b[i];
		cout<<c[i];
	}
	
	cout<<endl;
}
int main(){
int b;cin>>b;
	
for(int i=1;i<=300;i++)
		hui(i,b);
	
	return 0; 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值