当前位置: 代码迷 >> 综合 >> 欧拉计划005--Smallest multiple
  详细解决方案

欧拉计划005--Smallest multiple

热度:40   发布时间:2023-11-25 21:02:31.0

最小的能够被1到20整除的正数是多少?

直接交答案的题硬跑就行。

结果:232792560

#include<iostream>
using namespace std;int main()
{long long ans=21 ;int k = 1;while(k){k = 0;for(int i=1;i<=20;i++){if(ans%i!=0){k=1;break;}}ans++;}cout<<ans<<endl;return 0;
}

更新一下,光暴力真是对不起出题人的一片苦心

#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;int gcd(long long  a, long long b) {return ( b ? gcd(b, a % b) : a);
}int main() {long long ans = 1;for (long long i = 1; i <= 20; i++) {ans *= i / gcd(i, ans);}cout << ans << endl;return 0;
}

 

  相关解决方案