NC50569. 曹冲养猪
描述
输入描述
第一行包含一个整数n,表示建立猪圈的次数;
接下来n行,每行两个整数,表示建立了个猪圈,有头猪没有去处。你可以假定互质。
输出描述
输出仅包含一个正整数,即为曹冲至少养猪的数目。
示例1
输入:
3 3 1 5 1 7 2
输出:
16
C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 408K, 提交时间: 2022-08-21 16:21:11
#include<bits/stdc++.h> using namespace std; int main() { long int n; long long int a,b,c,d; cin>>n; cin>>a>>b; for(int i=1;i<n;i++) { cin>>c>>d; while(b%c!=d) { b+=a; } a=a*c; } cout<<b<<endl; }
C(clang11) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2021-05-09 11:26:28
#include<stdio.h> int main() { long int n; long long int a,b,c,d; scanf("%d",&n); scanf("%lld %lld",&a,&b); for(int i=1;i<n;i++) { scanf("%lld %lld",&c,&d); while(b%c!=d) b+=a; a*=c; } printf("%lld\n",b); return 0; }
C++(clang++11) 解法, 执行用时: 4ms, 内存消耗: 380K, 提交时间: 2021-05-09 11:23:39
#include<iostream> using namespace std; int main() { long int n; long long int a,b,c,d; cin>>n; cin>>a>>b; for(int i=1;i<n;i++) { cin>>c>>d; while(b%c!=d) b+=a; a=a*c; } cout<<b<<endl; }