NC230094. D%C%B%A=0
描述
给定四个整数
每次操作可以在中选择一个数,将其加一或者减一
要求最小的操作,满足是的倍数,是的倍数,是的倍数
输入描述
第一行输入四个正整数
输出描述
将答案单独一行输出到屏幕
示例1
输入:
1 2 3 4
输出:
1
C++ 解法, 执行用时: 10ms, 内存消耗: 404K, 提交时间: 2022-02-21 13:29:20
#include<bits/stdc++.h> using namespace std; const int n=10000; int main() { int ans=n,a,b,c,d; cin>>a>>b>>c>>d; for(int i=1;i<=n;i++) for(int j=i;j<=n;j+=i) for(int u=j;u<=n;u+=j) for(int v=u;v<=n;v+=u) ans=min(ans,abs(i-a)+abs(j-b)+abs(u-c)+abs(v-d)); cout<<ans<<endl; return 0; }
pypy3 解法, 执行用时: 236ms, 内存消耗: 29168K, 提交时间: 2021-12-13 22:17:26
A,B,C,D = map(int,input().split(' ')) ans = A+B+C+D for a in range(1,10000): for b in range(a,10000,a): for c in range(b,10000,b): for d in range(c,10000,c): ans = min(ans,abs(A-a)+abs(B-b)+abs(C-c)+abs(D-d)) print(ans)