Proiect Euler problem 4 : Largest palindrome product
来源:互联网 发布:浙江义乌淘宝网店培训 编辑:程序博客网 时间:2024/06/05 06:14
首先
在下面的关系式中:
P = 100000x + 10000y + 1000z + 100z + 10y + x
P = 100001x + 10010y + 1100z
P = 11 * (9091x + 910y + 100z)
我们可以得出一条重要结论:凡是回文数都能够被11整除。
其次
两个做大的三位数相乘最大是:999 *999 =998001;所以两个三位数相乘得到的最大的回文数不会超过998001,采取暴力做法,从998001递减遍历,减少循环次数
之后是回文数,回文数由于其数的特点,可以采取取位比较判断来产生,个数不会超过900个,存入数组中。
最后
采取暴力寻找的方法,因为数组中的数是从大到小存入的,所以遍历时第一层for是从0开始,后面的两层for是模拟两个三位数相乘,都从999开始,循环结束条件设置到900,减少循环的次数。
(还有其他的答案,暴力还是好理解吧)
#include<bits/stdc++.h>using namespace std;int main(){ int r=0; long int array[1010]; for (long int i = 998001; i >= 100000 ; --i ) { int k=i / 1000 % 10; int m=i /100 % 10; int o=i / 100000; int p= i % 10; int u=i / 10000 % 10; int w= i / 10 % 10 ;//取位比较 if(i % 11 == 0 && k==m && o==p && u==w){ array[r]=i; r++; } }//暴力 for (int n = 0; n <= 1010 ; ++n) { for (int i = 999; i >= 900 ; --i) { for (int k = 999; k >= 900 ; --k) { if(i*k == array[n]){ cout<<array[n]<<endl; } } } } return 0;}一开始想用long long 转换 成 string 来处理回文数的,未果QAQ
string ltos(long long int l){ ostringstream os; os<<l; string result; istringstream is(os.str()); is>>result; return result;}
阅读全文
0 0
- Proiect Euler problem 4 : Largest palindrome product
- 【Project Euler】【Problem 4】Largest palindrome product
- Project Euler Problem 4: Largest palindrome product
- Problem 4:Largest palindrome product
- Problem 4:Largest palindrome product
- Problem 4 Largest palindrome product
- (Problem 4)Largest palindrome product
- projecteuler---->problem=4----Largest palindrome product
- Project Euler 004 Largest palindrome product
- project euler Largest prime factor&Largest palindrome product
- Problem 4 Largest palindrome product (暴力枚举)
- PE 4 Largest palindrome product
- 【Project Euler】【Problem 8】Largest product in a series
- Largest product in a grid( Project Euler problem 11)
- project euler problem 8:Largest product in a series
- project euler problem 11:Largest product in a grid
- Project Euler:Problem 11 Largest product in a grid
- Project Euler Problem 8: Largest product in a series
- SQL 排序检索数据
- [网络流24题] 分配问题
- 几个坑,备注一下,
- AngularJs的UI组件ui-Bootstrap分享(四)——Datepicker Popup
- C++ 运算符重载和拷贝构造
- Proiect Euler problem 4 : Largest palindrome product
- module.exports与exports,export与export default之间的关系和区别
- [Qt] 我的一款射击游戏及设计模式
- MapReducer优化
- 动态规划题型总结
- BigDecimal保留两位小数及格式化成百分比
- nginx模块解析
- swift get、set、willSet和didSet
- Linked List Cycle II