projecteuler
文章平均质量分 66
不如归
这个作者很懒,什么都没留下…
展开
-
PE 6 Sum square difference
m=0;n=0for i=1:100 m=m+i*i; n=n+i;endn*n-mAnswer:25164150原创 2015-03-15 23:49:08 · 226 阅读 · 0 评论 -
PE 1 Multiples of 3 and 5
#includeint main(void){ int i,sum=0; for(i=1;i<1000;i++) { if(i%3==0||i%5==0) { sum+=i; } } printf("%d",sum); return 0;}原创 2015-03-12 23:01:24 · 287 阅读 · 0 评论 -
PE 4 Largest palindrome product
#includeusing namespace std;int palin(int n){ int m=n; int sum=0; while(m) //将原数颠倒 { sum=sum*10+m%10; m/=10; } if(sum==n) return 1; else return 0;}int main(void){ in原创 2015-03-12 23:45:50 · 289 阅读 · 0 评论 -
PE 3 Largest prime factor
#includeusing namespace std;int prime(long int i){ for(long int j=2;j*j<=i;j++) { if(i%j==0) return 1; } return 0;} int main(void){ __int64 n=600851475143 ; long int j=-1; long原创 2015-03-12 23:45:32 · 272 阅读 · 0 评论 -
PE 14 Longest Collatz sequence
/*#includeusing namespace std;long int result(long int n,long int m){ if(n==1) return m; //不能用递归! else if(n%2==1) { n=3*n+1; result(n,m+1); } else { n=n/2; result(n,m+原创 2015-03-14 00:49:15 · 336 阅读 · 0 评论 -
PE 12 Highly divisible triangular number
#includeusing namespace std;int sum(int n){ int i,j=0; for(i=1;i*i<=n;i++) { if(n%i==0) j+=2; //只需一半 } return j;}int main(void){ int i=2,n=3; while(sum(n)<=500) { i原创 2015-03-14 00:52:52 · 269 阅读 · 0 评论 -
PE 10 Summation of primes
#includeusing namespace std;int isprime(int n){ if(n%2==0) return 0; for(int i=3;i*i<=n;i+=2) { if(n%i==0) return 0; } return 1;}int main(void){ long int i,sum; i=2; sum=0; whil原创 2015-03-14 00:53:49 · 236 阅读 · 0 评论 -
PE 9 Special Pythagorean triplet
#includeusing namespace std;int main(void){ int a,b; for(a=1;a<999;a++) for(b=1;b<1000-a;b++) { if(a*a+b*b==(1000-a-b)*(1000-a-b)) { cout<<a*b*(1000-a-b); goto here; } }原创 2015-03-14 00:55:03 · 250 阅读 · 0 评论 -
PE 21 Amicable numbers
#include#include using namespace std;int a[10001];int f(int i){ int m,n=0; for(int j=1;j<=sqrt(i);j++) { if(i%j==0) { n=n+j+i/j; } } m=sqrt(i); if(m*m==i) n-=m; n-=i; return n原创 2015-03-19 00:32:21 · 291 阅读 · 0 评论 -
PE 30 Digit fifth powers
#include#includeusing namespace std;int add(int a,int b,int c,int d,int e,int f){ return f+10*e+100*d+1000*c+10000*b+100000*a;}int mul(int a,int b,int c,int d,int e,int f){ return pow(f,5)+p原创 2015-05-03 01:08:29 · 266 阅读 · 0 评论 -
PE 27 Quadratic primes
#include#includeusing namespace std;#define MAX 2000001int bprime[MAX];int count(int a,int b){ int tmp=b,n=0; while(tmp>0&&!bprime[tmp]) { n++; tmp=n*n+a*n+b; } return n;}int main(vo原创 2015-05-02 00:06:37 · 295 阅读 · 0 评论 -
PE 29 Distinct powers
x=set() #set集合不含重复元素for a in range(2,101): for b in range(2,101): x.add(a**b)print(len(x))Answer:9183原创 2015-05-02 00:26:46 · 260 阅读 · 0 评论 -
PE 28 Number spiral diagonals
#includeusing namespace std;int main(void){ int n; cin>>n;//n=1001 int ans=1; for(int i=n;i>=3;i-=2) ans+=(i*i*4-6*(i-1)); //从最外圈开始每一圈之和 cout<<ans<<endl; return 0;}Answer:原创 2015-05-02 00:19:08 · 238 阅读 · 0 评论 -
PE 13 Large sum
clear;clc;a=[37107287533902102798797998220837590246510135740250463769376774900097126481248969700780504170182605387432498619952474105947423330951305812372661730962991942213363574161572522430563301原创 2015-03-15 23:34:29 · 298 阅读 · 0 评论 -
PE 2 Even Fibonacci numbers
#includeusing namespace std;int Fib(int n){ if(n==1) return 1; else if(n==2) return 2; else return Fib(n-1)+Fib(n-2);}int main(void){ int i,sum=0; for(i=1;i<100000;i++) { if(Fib(i原创 2015-03-12 23:10:44 · 243 阅读 · 0 评论 -
PE 26 Reciprocal cycles
#include#includeusing namespace std;int Cycle(int u,int d){ int count=0; int hash[10100],latest[10010]; memset(hash,0,sizeof(hash)); memset(latest,0,sizeof(latest)); while(u%d) { count++;原创 2015-03-22 00:50:13 · 250 阅读 · 0 评论 -
PE 20 Factorial digit sum
#includeusing namespace std;int a[500]={1,1};void cheng(int a[],int k){ int i; for(i=1;i<=a[0];i++) { a[i]*=k; } for(int j=1;j<=a[0];j++) { a[j+1]+=a[j]/10; a[j]%=10; } while(a[a[0]原创 2015-03-18 00:30:48 · 263 阅读 · 0 评论 -
PE 7 10001st prime
n=0for i=2:1000000000000 if isprime(i) n=n+1; end if n==10001 break; endendmatlab程序Answer:104743原创 2015-03-15 23:53:23 · 264 阅读 · 0 评论 -
PE 8 Largest product in a series
clc;clear;a=[7, 3, 1, 6, 7, 1, 7, 6, 5, 3, 1, 3, 3, 0, 6, 2, 4, 9, 1, 9, 2, 2, 5, 1, 1, 9, 6, 7, 4, 4, 2, 6, 5, 7, 4, 7, 4, 2, 3, 5, 5, 3, 4, 9, 1, 9, 4, 9, 3, 4, 9, 6, 9, 8, 3, 5, 2, 0, 3, 1, 2, 7,原创 2015-03-15 23:25:13 · 344 阅读 · 0 评论 -
PE 5 Smallest multiple
#include using namespace std;int main(){ int i; int t=0; for (i=5000;;i++) { if ((i%11)==0 && (i%12)==0&&(i%13)==0 && (i%14)==0 && (i%15)==0 && (i%16)==0 && (i%17)==0 && (i%18)==0 && (i%19)==原创 2015-03-15 23:40:38 · 237 阅读 · 0 评论 -
PE 11 Largest product in a grid
clc;clear;a=[08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 0849 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 0081 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 6552 70原创 2015-03-16 00:13:49 · 235 阅读 · 0 评论 -
PE 23 Non-abundant sums
#includeusing namespace std;const int cnt=28124;bool is[cnt]={0};int abu[cnt];int num=0;bool isAbu(int n){ int sum=1,i; for(i=2;i*i<n;i++) if(n%i==0) sum+=i+n/i; if(i*i==n) sum+=i;原创 2015-03-19 23:18:44 · 337 阅读 · 0 评论 -
PE 22 Names scores
#pragma warning(disable: 4786) //STL无法处理太长的字符串#include#include#include#includeusing namespace std;#includevoid split(string& s,string delim,vector& ret){ string::size_type last=0; string原创 2015-03-19 22:53:12 · 283 阅读 · 0 评论 -
PE 24 Lexicographic permutations
#include#includeusing namespace std;int main(void){ int a[10]={0,1,2,3,4,5,6,7,8,9}; for(int i=1;i<1000000;i++) { next_permutation(a,a+10); //可生成字典序排列的函数 } for(int j=0;j<10;j++) cout<<原创 2015-03-19 23:23:35 · 336 阅读 · 0 评论 -
PE 16 Power digit sum
#include #includeusing namespace std;int a[1000];void init(int a[]){ string s; cin>>s; a[0]=s.length(); int i; for(i=1;i<=a[0];i++) { a[i]=s[a[0]-i]-'0'; }}void cheng(int a[],int n){原创 2015-03-17 00:16:31 · 288 阅读 · 0 评论 -
PE 15 Lattice paths
clc; %排列,四十步里选二十步clear;nchoosek(40,20)format longAnswer:137846528820原创 2015-03-16 23:38:54 · 269 阅读 · 0 评论 -
PE 17 Number letter counts
#include using namespace std;int a[101] = {0,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8};void init(void) //初始化数组{ a[20] = 6; a[30] = 6; a[40] = 5; a[50] = 5; a[60] = 5; a[70] = 7; a[80] = 6;原创 2015-03-17 23:54:06 · 341 阅读 · 0 评论 -
PE 18 Maximum path sum I
#includeusing namespace std;int main(){ int data[15][15] = { {75}, {95,64}, {17,47,82}, {18,35,87,10}, {20,4,82,47,65}, {19,1,23,75,3,34}, {原创 2015-03-17 23:50:27 · 449 阅读 · 0 评论 -
PE 19 Counting Sundays
#includeusing namespace std;const int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};bool leapYear(int n){ return (((n%4==0)&&(n%100!=0))||(n%400==0));}原创 2015-03-18 00:08:48 · 261 阅读 · 0 评论 -
PE 25 1000-digit Fibonacci number
#include #include typedef char Digit;class BigInt{public: BigInt () { }; BigInt (unsigned int i); BigInt (const char* i); BigInt operator+ (const BigInt& big); int size() const { return nu原创 2015-03-21 23:14:13 · 241 阅读 · 0 评论 -
PE 48 Self powers
//#include//using namespace std;//#define M 10000000000 //过大导致溢出错误////long long pow_m(int n)//{// long long ans=1;// long long tmp=n;// while(n)// {// if(n%2)// ans=ans*tmp%M;// tmp=tm原创 2015-06-11 00:42:11 · 253 阅读 · 0 评论