1.给两个数,比如8,9
n,k
你需要算出8x1,到8x9之间的所有数
然后把所有数反转,比较最大值
思路:
枚举就行了,n是固定的,k在变化
每一次枚举,取出个位,%10,然后/10下一位
反转的话
比如72
那我们就取出个位*10就行了
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int res=0;
for(int i=1;i<=k;i++)
{
int shu=i*n;
int t=0;
while(shu)
{
t=t*10+shu%10;
shu/=10;
}
res=max(t,res);
}
cout<<res<<endl;
}
2.模板
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b)
{
return b ? gcd(b, a % b) : a;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int cnt=0;
for(int i=1;i<sqrt(n);i++)
{
int x=i;
int y=n/i;
if(x*y==n&&gcd(x,y)==1) cnt++;
}
cout<<cnt<<endl;
}
}