求助!!!
查看原帖
求助!!!
559503
j_steady楼主2022/1/23 20:12
#include<bits/stdc++.h>
#define mod 2333333
using namespace std;

int a,b;
int num[10000005];
void Dec(int x){
	int cnt =0;
	for (int i=a;i<=x/i;i++ ){
		for (;x%i==0;x/=i)
			num[++cnt] = i;
	}
	if (x>1) num[++cnt]=x;
}
int read()
{
	int f=1;int x=0;
	char c=getchar();	
	while(c<'0'||c>'9')
	{
		if(c=='-') f=-1;c=getchar();
	}
	while(!(c<'0'||c>'9'))
	{
		x=x*10+c-'0';c=getchar();
	}
	return f*x;
}
bool judge(int x){

    int y=x,numm=0;//int y=x,防止x被改变
    while (y!=0)
    {
        numm=numm*10+y%10;//上一次数字的记录进位再加上下一位数
        y/=10;
    } 
    if (numm==0) return 0;
    if (numm==x) return 1;
    else return 0;
}


int main (){
	a=read(),b=read();
	Dec(b);
	printf ("%d",num[1]);
	for (int i=1;i<=sizeof (num);i++){
		if (judge(num[i])) printf ("%d ",num[i]);
	}
	return 0;
}
2022/1/23 20:12
加载中...