赞
踩
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- bool cmp(int a,int b){
- return a>b;
- }
- void to_array(int n,int num[]){
- for(int i=0;i<4;i++){
- num[i]=n%10;
- n /=10;
- }
- }
- int to_number(int num[]){
- int sum=0;
- for(int i=0;i<4;i++){
- sum=sum*10+num[i];
- }
- return sum;
- }
- int main(){
- int n,MIN,MAX;
- scanf("%d",&n);
- int num[5];
- while(1){
- to_array(n,num);
- sort(num,num+4);
- MIN=to_number(num);
- sort(num,num+4,cmp);
- MAX=to_number(num);
- n=MAX-MIN;
- printf("%04d-%04d=%04d\n",MAX,MIN,n);
- if(n==0||n==6174)break;
- }
- return 0;
- }
- #include <cstdio>
- #include <cmath>
-
- int main() {
- int a, b, c;
- scanf("%d%d%d", &a, &b, &c);
- int delta = b * b - 4 * a * c;
- if (delta < 0) {
- printf("No Solution");
- } else if (delta == 0) {
- printf("%.2f", -b / (2.0 * a));
- } else {
- printf("%.2f %.2f", (-b - sqrt((double)delta)) / (2.0 * a), (-b + sqrt((double)delta)) / (2.0 * a));
- }
- return 0;
- }
- #include <cstdio>
- #include <cmath>
- int gcd(int a,int b){
- if(b==0)return a;//求最大公约数的辗转相除法递归写法
- else return gcd(b,a%b);
- }
- int main() {
- int m,n;
- while(scanf("%d%d",&m,&n)!=EOF){
- printf("%d\n",gcd(m,n));
- }
- return 0;
- }
- #include <cstdio>
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- int main() {
- int a, b;
- scanf("%d%d", &a, &b);
- printf("%d", a / gcd(a, b) * b);
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- struct Fraction {
- int up, down;
- };
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- Fraction reduction(Fraction fraction) {
- if (fraction.down < 0) {
- fraction.up = -fraction.up;
- fraction.down = -fraction.down;
- }
- if (fraction.up == 0) {
- fraction.down = 1;
- } else {
- int d = gcd(abs(fraction.up), abs(fraction.down));
- fraction.up /= d;
- fraction.down /= d;
- }
- return fraction;
- }
-
- int main() {
- Fraction fraction;
- scanf("%d%d", &fraction.up, &fraction.down);
- Fraction result = reduction(fraction);
- if (result.down == 1) {
- printf("%d", result.up);
- } else {
- printf("%d %d", result.up, result.down);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- struct Fraction {
- int up, down;
- };
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- Fraction reduction(Fraction fraction) {
- if (fraction.down < 0) {
- fraction.up = -fraction.up;
- fraction.down = -fraction.down;
- }
- if (fraction.up == 0) {
- fraction.down = 1;
- } else {
- int d = gcd(abs(fraction.up), abs(fraction.down));
- fraction.up /= d;
- fraction.down /= d;
- }
- return fraction;
- }
-
- Fraction add(Fraction f1, Fraction f2) {
- Fraction result;
- result.up = f1.up * f2.down + f2.up * f1.down;
- result.down = f1.down * f2.down;
- return reduction(result);
- }
-
- int main() {
- Fraction f1, f2;
- scanf("%d%d%d%d", &f1.up, &f1.down, &f2.up, &f2.down);
- Fraction result = add(f1, f2);
- if (result.down == 1) {
- printf("%d", result.up);
- } else {
- printf("%d %d", result.up, result.down);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- struct Fraction {
- int up, down;
- };
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- Fraction reduction(Fraction fraction) {
- if (fraction.down < 0) {
- fraction.up = -fraction.up;
- fraction.down = -fraction.down;
- }
- if (fraction.up == 0) {
- fraction.down = 1;
- } else {
- int d = gcd(abs(fraction.up), abs(fraction.down));
- fraction.up /= d;
- fraction.down /= d;
- }
- return fraction;
- }
-
- Fraction sub(Fraction f1, Fraction f2) {
- Fraction result;
- result.up = f1.up * f2.down - f2.up * f1.down;
- result.down = f1.down * f2.down;
- return reduction(result);
- }
-
- int main() {
- Fraction f1, f2;
- scanf("%d%d%d%d", &f1.up, &f1.down, &f2.up, &f2.down);
- Fraction result = sub(f1, f2);
- if (result.down == 1) {
- printf("%d", result.up);
- } else {
- printf("%d %d", result.up, result.down);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- struct Fraction {
- int up, down;
- };
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- Fraction reduction(Fraction fraction) {
- if (fraction.down < 0) {
- fraction.up = -fraction.up;
- fraction.down = -fraction.down;
- }
- if (fraction.up == 0) {
- fraction.down = 1;
- } else {
- int d = gcd(abs(fraction.up), abs(fraction.down));
- fraction.up /= d;
- fraction.down /= d;
- }
- return fraction;
- }
-
- Fraction multiply(Fraction f1, Fraction f2) {
- Fraction result;
- result.up = f1.up * f2.up;
- result.down = f1.down * f2.down;
- return reduction(result);
- }
-
- int main() {
- Fraction f1, f2;
- scanf("%d%d%d%d", &f1.up, &f1.down, &f2.up, &f2.down);
- Fraction result = multiply(f1, f2);
- if (result.down == 1) {
- printf("%d", result.up);
- } else {
- printf("%d %d", result.up, result.down);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- struct Fraction {
- int up, down;
- };
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- Fraction reduction(Fraction fraction) {
- if (fraction.down < 0) {
- fraction.up = -fraction.up;
- fraction.down = -fraction.down;
- }
- if (fraction.up == 0) {
- fraction.down = 1;
- } else {
- int d = gcd(abs(fraction.up), abs(fraction.down));
- fraction.up /= d;
- fraction.down /= d;
- }
- return fraction;
- }
-
- Fraction div(Fraction f1, Fraction f2) {
- Fraction result;
- result.up = f1.up * f2.down;
- result.down = f1.down * f2.up;
- return reduction(result);
- }
-
- int main() {
- Fraction f1, f2;
- scanf("%d%d%d%d", &f1.up, &f1.down, &f2.up, &f2.down);
- Fraction result = div(f1, f2);
- if(!f2.up){
- printf("undefined");
- }
- else if (result.down == 1) {
- printf("%d", result.up);
- } else {
- printf("%d %d", result.up, result.down);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- #include <cmath>
- using namespace std;
- bool isPrime(int n){
- if(n<=1)return false;
- int sqr=(int)sqrt(1.0*n);
- for(int i=2;i<=sqr;i++){
- if(n%i==0)return false;
- }
- return true;
-
- }
- int main() {
- int n;
- scanf("%d",&n);
- if(isPrime(n))printf("Yes");
- else printf("No");
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- #include <cmath>
- using namespace std;
- bool isPrime(int n){
- if(n<=1)return false;
- int sqr=(int)sqrt(1.0*n);
- for(int i=2;i<=sqr;i++){
- if(n%i==0)return false;
- }
- return true;
-
- }
- int main() {
- int n;
- scanf("%d",&n);
- for(int i=1;i<n+1;i++)
- {
- if(isPrime(i))printf("%d\n",i);
-
- }
- return 0;
- }
- #include <cstdio>
- int main() {
- int n;
- scanf("%d", &n);
- int counter = 0;
- while (n % 2 == 0) {
- counter++;
- n /= 2;
- }
- printf("%d", counter);
- return 0;
- }
- #include <cstdio>
- #include <cmath>
- #include <cstring>
- #include <vector>
- using namespace std;
-
- const int MAXN = 1000 + 1;
- bool isPrime[MAXN];
- vector<int> primes;
-
- void getPrimes(int n) {
- memset(isPrime, true, sizeof(isPrime));
- for (int i = 2; i <= n; i++) {
- if (isPrime[i]) {
- primes.push_back(i);
- for (int j = i + i; j <= n; j += i) {
- isPrime[j] = false;
- }
- }
- }
- }
-
- int main() {
- int n;
- scanf("%d", &n);
- getPrimes((int)sqrt(1.0 * n));
- for (int i = 0; i < primes.size() && n > 1; i++) {
- int counter = 0;
- while (n > 1 && n % primes[i] == 0) {
- counter++;
- n /= primes[i];
- }
- if (counter > 0) {
- printf("%d %d\n", primes[i], counter);
- }
- }
- if (n > 1) {
- printf("%d 1", n);
- }
- return 0;
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
-
- int compare(BigInt a, BigInt b) {
- if (a.size() > b.size()) {
- return 1;
- } else if (a.size() < b.size()) {
- return -1;
- } else {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- if (a[i] > b[i]) {
- return 1;
- } else if (a[i] < b[i]) {
- return -1;
- }
- }
- return 0;
- }
- }
-
- int main() {
- string nums1, nums2;
- cin >> nums1 >> nums2;
- BigInt a = toBigInt(nums1);
- BigInt b = toBigInt(nums2);
- int compareResult = compare(a, b);
- if (compareResult < 0) {
- printf("a < b");
- } else if (compareResult > 0) {
- printf("a > b");
- } else {
- printf("a = b");
- }
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
-
- BigInt add(BigInt a, BigInt b) {
- BigInt c;
- int carry = 0;
- for (int i = 0; i < a.size() || i < b.size(); i++) {
- int aDigit = i < a.size() ? a[i] : 0;
- int bDigit = i < b.size() ? b[i] : 0;
- int sum = aDigit + bDigit + carry;
- c.push_back(sum % 10);
- carry = sum / 10;
- }
- if (carry) {
- c.push_back(carry);
- }
- return c;
- }
-
- void print(BigInt a) {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- cout << a[i];
- }
- }
-
- int main() {
- string nums1, nums2;
- cin >> nums1 >> nums2;
- BigInt a = toBigInt(nums1);
- BigInt b = toBigInt(nums2);
- print(add(a, b));
- return 0;
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
- int compare(BigInt a, BigInt b) {
- if (a.size() > b.size()) {
- return 1;
- } else if (a.size() < b.size()) {
- return -1;
- } else {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- if (a[i] > b[i]) {
- return 1;
- } else if (a[i] < b[i]) {
- return -1;
- }
- }
- return 0;
- }
- }
- BigInt sub(BigInt a, BigInt b) {
- BigInt c;
- for (int i = 0; i < a.size() || i < b.size(); i++) {
- int bDigit = i < b.size() ? b[i] : 0;
- if (a[i] < bDigit) {
- a[i + 1]--;
- a[i] += 10;
- }
- c.push_back(a[i] - bDigit);
- }
- while (c.size() > 1 && c.back() == 0) {
- c.pop_back();
- }
- return c;
- }
-
- void print(BigInt a) {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- cout << a[i];
- }
- }
-
- int main() {
- string nums1, nums2;
- cin >> nums1 >> nums2;
- BigInt a = toBigInt(nums1);
- BigInt b = toBigInt(nums2);
- if (compare(a, b) >= 0) {
- print(sub(a, b));
- } else {
- cout << "-";
- print(sub(b, a));
- }
- return 0;
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
- int compare(BigInt a, BigInt b) {
- if (a.size() > b.size()) {
- return 1;
- } else if (a.size() < b.size()) {
- return -1;
- } else {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- if (a[i] > b[i]) {
- return 1;
- } else if (a[i] < b[i]) {
- return -1;
- }
- }
- return 0;
- }
- }
- BigInt mul(BigInt a, int b) {
- BigInt c;
- int carry=0;;
- for (int i = 0; i < a.size(); i++) {
- int temp=a[i]*b+carry;
- c.push_back(temp%10);
- carry=temp/10;
- }
- while(carry!=0){
- c.push_back(carry%10);
- carry/=10;
- }
- while (c.size() > 1 && c.back() == 0) {
- c.pop_back();
- }
- return c;
- }
-
- void print(BigInt a) {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- cout << a[i];
- }
- }
-
- int main() {
- string nums;
- int b;
- cin >> nums >> b;
- BigInt a = toBigInt(nums);
- print(mul(a, b));
- return 0;
- return 0;
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
-
- BigInt mul(BigInt a, BigInt b) {
- BigInt c = BigInt(a.size() + b.size() + 1, 0);
- for (int i = 0; i < a.size(); i++) {
- for (int j = 0; j < b.size(); j++) {
- c[i + j] += a[i] * b[j];
- }
- }
- for (int i = 0; i < a.size() + b.size(); i++) {
- if (c[i] >= 10) {
- c[i + 1] += c[i] / 10;
- c[i] = c[i] % 10;
- }
- }
- while (c.size() > 1 && c.back() == 0) {
- c.pop_back();
- }
- return c;
- }
-
- void print(BigInt a) {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- cout << a[i];
- }
- }
-
- int main() {
- string nums1, nums2;
- cin >> nums1 >> nums2;
- BigInt a = toBigInt(nums1);
- BigInt b = toBigInt(nums2);
- print(mul(a, b));
- return 0;
- }
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
-
- typedef vector<int> BigInt;
-
- BigInt toBigInt(string nums) {
- BigInt result;
- for (int i = (int)nums.length() - 1; i >= 0; i--) {
- result.push_back(nums[i] - '0');
- }
- return result;
- }
-
- BigInt div(BigInt a, int b, int &r) {
- BigInt c;
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- r = r * 10 + a[i];
- c.push_back(r / b);
- r = r % b;
- }
- reverse(c.begin(), c.end());
- while (c.size() > 1 && c.back() == 0) {
- c.pop_back();
- }
- return c;
- }
-
- void print(BigInt a) {
- for (int i = (int)a.size() - 1; i >= 0; i--) {
- cout << a[i];
- }
- }
-
- int main() {
- string nums;
- int b, r = 0;
- cin >> nums >> b;
- if (b == 0) {
- cout << "undefined";
- return 0;
- }
- BigInt a = toBigInt(nums);
- BigInt q = div(a, b, r);
- print(q);
- cout << " " << r;
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int gcd(int a, int b) {
- if (b == 0) {
- return a;
- } else {
- return gcd(b, a % b);
- }
- }
-
- int main() {
- int a, b, c;
- scanf("%d%d%d", &a, &b, &c);
- printf(c % gcd(a, b) == 0 ? "Yes" : "No");
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int exGcd(int a, int b, int &x, int &y) {
- if (b == 0) {
- x = 1;
- y = 0;
- return a;
- }
- int d = exGcd(b, a % b, x, y);
- int temp = x;
- x = y;
- y = temp - a / b * y;
- return d;
- }
-
- int main() {
- int a, b, x, y;
- scanf("%d%d", &a, &b);
- int d = exGcd(a, b, x, y);
- int step = b / d;
- int minX = (x % step + step) % step;
- printf("%d %d", minX, (d - a * minX) / b);
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int exGcd(int a, int b, int &x, int &y) {
- if (b == 0) {
- x = 1;
- y = 0;
- return a;
- }
- int d = exGcd(b, a % b, x, y);
- int temp = x;
- x = y;
- y = temp - a / b * y;
- return d;
- }
-
- int solve(int a, int b, int c) {
- int x, y;
- int d = exGcd(a, b, x, y);
- if (c % d) {
- return -1;
- } else {
- int step = abs(b / d);
- int minX = (c * x / d % step + step) % step;
- return minX;
- }
- }
-
- int main() {
- int a, b, c;
- scanf("%d%d%d", &a, &b, &c);
- int minX = solve(a, b, c);
- if (minX == -1) {
- printf("No Solution");
- } else {
- printf("%d %d", minX, (c - a * minX) / b);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int exGcd(int a, int b, int &x, int &y) {
- if (b == 0) {
- x = 1;
- y = 0;
- return a;
- }
- int d = exGcd(b, a % b, x, y);
- int temp = x;
- x = y;
- y = temp - a / b * y;
- return d;
- }
-
- int solve(int a, int b, int c) {
- int x, y;
- int d = exGcd(a, b, x, y);
- if (c % d) {
- return -1;
- } else {
- int step = abs(b / d);
- int minX = (c * x / d % step + step) % step;
- return minX;
- }
- }
-
- int main() {
- int a, c, m, x, y;
- scanf("%d%d%d", &a, &c, &m);
- int minX = solve(a, m, c);
- if (minX == -1) {
- printf("No Solution");
- } else {
- printf("%d", minX);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int exGcd(int a, int b, int &x, int &y) {
- if (b == 0) {
- x = 1;
- y = 0;
- return a;
- }
- int d = exGcd(b, a % b, x, y);
- int temp = x;
- x = y;
- y = temp - a / b * y;
- return d;
- }
-
- int invert(int a, int m) {
- int x, y;
- int d = exGcd(a, m, x, y);
- if (d != 1) {
- return -1;
- } else {
- return (x % m + m) % m;
- }
- }
-
- int main() {
- int a, m;
- scanf("%d%d", &a, &m);
- int result = invert(a, m);
- if (result == -1) {
- printf("No Solution");
- } else {
- printf("%d", result);
- }
- return 0;
- }
- #include <cstdio>
- #include <algorithm>
- using namespace std;
-
- int exGcd(int a, int b, int &x, int &y) {
- if (b == 0) {
- x = 1;
- y = 0;
- return a;
- }
- int d = exGcd(b, a % b, x, y);
- int temp = x;
- x = y;
- y = temp - a / b * y;
- return d;
- }
-
- int invert(int a, int m) {
- int x, y;
- int d = exGcd(a, m, x, y);
- if (d != 1) {
- return -1;
- } else {
- return (x % m + m) % m;
- }
- }
-
- int main() {
- int n, a, m, b;
- scanf("%d%d%d", &n, &a, &m);
- int result = invert(abs(a), m);
- for (int i = 0; i < n; i++) {
- scanf("%d", &b);
- result = (result * b) % m;
- }
- printf("%d", result);
- return 0;
- }
- #include <cstdio>
- int cal(int n,int p)
- {
- if(n<p)return 0;
- return n/p+cal(n/p,p);
-
- }
- int main() {
- int n,p=2;
- scanf("%d", &n);
- printf("%d", cal(n,p));
- return 0;
- }
- #include <cstdio>
-
- typedef long long LL;
-
- LL C(LL n, LL m) {
- LL ans = 1;
- for (LL i = 1; i <= m; i++) {
- ans = ans * (n - m + i) / i;
- }
- return ans;
- }
-
- int main() {
- LL n, m;
- scanf("%lld%lld", &n, &m);
- printf("%lld", C(n, m));
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。