高级启示者
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
WA40分
#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
long long n,m,x;
int main(){
cin>>n>>m>>x;
cout<<n*m*x;
return 0;
}
求思路
初级守护
头文件
using namespace std;
long long x,y,z;
long long gcd(long long a,long long b){
定义(long long ) r;
while(a%b!=0){
r=a%b;
a=b;
b=r;
}
return b;
}
long long bei(long long a,long long b,long long c){
long long t=a*b/gcd(a,b);
return t*c/(gcd(t,c));
}
int main(){
输入>>x>>y>>z;
输出<<bei(x,y,z);
return 0;
}
求采纳,谢谢
初级天翼
公式法:最小公倍=a*b/gcd(a,b)(gcd()-->最大公因函数)
知道这个还不好办吗
思路:
先求两个数的最小公倍,用变量存一下,(比如t=a*b/gcd(a,b))再求t和第三个数的最小公倍
函数:
定义函数gcd(求最大公因)(你会写吧,不会的话翻笔记)
再定义函数bei(求最小公倍)(长整形a、b、c),函数里定义长整形t=(公式法,上面写过了),返回t和c的最小公倍
主函数里的不用我说吧,输出bei(a,b,c)
望采纳~