新手天翼
6589 吃早饭
经验值:1200 时间限制:1000毫秒
题目描述 Description
小红每天都不吃早饭,她觉得这是一个坏习惯,所以她为了养成能吃早饭的习惯,决定每x天吃一次早饭。通俗的说,如果小红某天早上吃了早饭,他就会休息x-1天不吃早饭,第x天接着吃早饭,以此类推。
小蓝和小绿觉得这是一个好习惯。
于是小蓝每y天吃一次早饭,小绿每z天吃一次早饭。
某天早上他们三个相遇了。把他们这次相遇记为第0天,假设每个人吃早饭的时间段和路线都相同,请你帮他们计算一下下一次三人相遇是第几天。
输入描述 Input Description
输入共一行,包含三个正整数x,y,z,表示小红每隔x天吃一次早饭、小蓝每隔y天吃一次早饭,小绿每隔z天吃一次早饭。
输出描述 Output Description
输出共一行,包含一个正整数n,表示三位同学下次将在第n天相遇。
样例输入 Sample Input
2 3 5
样例输出 Sample Output
30
数据范围及提示 Data Size & Hint
1≤x,y,z≤100000
WA60:
#include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
int r;
while(a%b!=0){
r=a%b;
a=b;
b=r;
}
return r;
}
long long bei(int a,int b,int c){
long long t=a*b/gcd(a,b);
return t*c/gcd(t,c);
}
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<bei(a,b,c);
return 0;
}
张展嘉在2021-06-25 16:13:22追加了内容
已自行解决,随意回答。我看谁爽就采谁
张展嘉在2021-06-25 16:13:29追加了内容
已自行解决,随意回答。我看谁爽就采谁
张展嘉在2021-06-25 16:13:37追加了内容
已自行解决,随意回答。我看谁爽就采谁
张展嘉在2021-06-25 16:13:43追加了内容
已自行解决,随意回答。我看谁爽就采谁
张展嘉在2021-06-25 16:51:16追加了内容
@汪宇航 @程祺然 @吴品睿 @甄子烨 @酷町侠
张展嘉在2021-06-25 17:03:53追加了内容
来个人吱一下吧,20豆
缔造者之神
long long a[10000001],b[10000001],n;
void f1()
{
long long m;
for(m=1;m*m<=n;m++) a[m]=n/m-1;
for(long long i=1;i<=m;i++) b[i]=i-1;
for(long long i=2;i<=m;i++)
{
if(b[i]==b[i-1]) continue;
for(long long j=1;j<=min(m-1,n/i/i);j++)
{
if(i*j<m) a[j]-=a[i*j]-b[i-1];
else a[j]-=b[n/i/j]-b[i-1];
}
for(long long j=m;j>=i*i;j--) b[j]-=b[j/i]-b[i-1];
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
f1();
cout<<a[1];
}
数组大小改一下