题意:问每一次可以加入一个单位的精华或者水,给你一个k%,问你最少需要加几次才能加到这个浓度
我们列列式子就知道: k 100 = 0.0 k ( 不 严 谨 , 准 确 的 来 说 应 该 是 0.01 ∗ k , 这 里 为 了 好 理 解 ) \dfrac{k}{100} = 0.0k(不严谨,准确的来说应该是0.01 *k,这里为了好理解) 100k=0.0k(不严谨,准确的来说应该是0.01∗k,这里为了好理解),显然我们知道分母就是我们需要添加的次数,那么我们怎么让左边分母最小来得到右边呢?显然就是约分,约分自然就约分他们的gcd了,那么答案就出来了qwq!
// Problem: A. Potion-making // Contest: Codeforces - Educational Codeforces Round 109 (Rated for Div. 2) // URL: https://codeforces.com/contest/1525/problem/0 // Memory Limit: 256 MB // Time Limit: 1000 ms // Code by: ING__ // // Powered by CP Editor (https://cpeditor.org) #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int T; int k; int main(){ cin >> T; while(T--){ cin >> k; cout << 100 / __gcd(100, k) << endl; } return 0; }
思维题
上面代补,最近有点忙,先放着马上来