Project Euler P4 Largest palindrome product 题解

Posted lajiccf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Project Euler P4 Largest palindrome product 题解相关的知识,希望对你有一定的参考价值。

考虑暴力。

我们做两重循环,枚举乘数和被乘数,判断回文取 (max) 即可。

时间复杂度 (O(900^2)=O(810000))

#include <bits/stdc++.h>
using namespace std;
int a[10],tot,ans;
bool hw(int n) {
	memset(a,0,sizeof a);
	tot=0;
	while(n) {
		a[++tot]=n%10;
		n/=10;
	}
	for(int i=1;i<=tot/2;i++)
	    if(a[i]!=a[tot-i+1])
	        return 0;
	return 1;
}//分拆位数判定回文
int main() {
	for(int i=999;i>=100;i--)
	    for(int j=999;j>=100;j--)
	        if(hw(i*j))
	            ans=max(ans,i*j);//取最大值
	printf("%d",ans);
}

以上是关于Project Euler P4 Largest palindrome product 题解的主要内容,如果未能解决你的问题,请参考以下文章

Project Euler:Problem 61 Cyclical figurate numbers

Project-Euler (Make/Source) 的有用文件夹结构? [关闭]

Project Euler 109 :Darts 飞镖

Project Euler 5

Project Euler

project euler 169