fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int f1(int k1, int n,int m) {
  5. int b, g;
  6. for (g = n; g * m % n != 0 || (b = g * m / n) + g < k1; g++);
  7. return b + g ;
  8. }
  9.  
  10. int f2(int k1, int n,int m) {
  11. int b,g;
  12. for (g = n; g * m % n != 0 || (b = g * m / n) + g < k1; g++);
  13. return b;
  14. }
  15.  
  16. int f3(int k1, int n,int m) {
  17. int b,g;
  18. for (g = n; g * m % n != 0 || (b = g * m / n) + g < k1; g++);
  19. return g;
  20. }
  21.  
  22. int F1(int k1,int k2, int m,int n ) {
  23.  
  24. int x = 0, y = 0, M = 10001;
  25.  
  26. for(int i = 0; i <= k2; i++){
  27. for(int j = k1-i; j <= k2; j++){ //j=k1-i, так как сумма i+j должна быть хотя бы k1. Рассматривать варианты меньше, смысла не имеет
  28. if(M > i + j && i * n == j * m && k1 <= i + j && i + j <= k2 && i>=m && j>=n){
  29. x = i;
  30. y = j;
  31. M = i+j;
  32. }
  33. }
  34. }
  35. return x + y;
  36. }
  37.  
  38. int F2(int k1,int k2, int m,int n ) {
  39.  
  40. int x = 0, y = 0, M = 10001;
  41.  
  42.  
  43. for(int i = 0; i <= k2; i++){
  44. for(int j = k1-i; j <= k2; j++){ //j=k1-i, так как сумма i+j должна быть хотя бы k1. Рассматривать варианты меньше, смысла не имеет
  45. if(M > i + j && i * n == j * m && k1 <= i + j && i + j <= k2 && i>=m && j>=n){
  46. x = i;
  47. y = j;
  48. M = i+j;
  49. }
  50. }
  51. }
  52. return x;
  53. }
  54.  
  55. int F3(int k1,int k2, int m,int n ) {
  56.  
  57. int x = 0, y = 0, M = 10001;
  58.  
  59. for(int i = 0; i <= k2; i++){
  60. for(int j = k1-i; j <= k2; j++){ //j=k1-i, так как сумма i+j должна быть хотя бы k1. Рассматривать варианты меньше, смысла не имеет
  61. if(M > i + j && i * n == j * m && k1 <= i + j && i + j <= k2 && i>=m && j>=n){
  62. x = i;
  63. y = j;
  64. M = i+j;
  65. }
  66. }
  67. }
  68. return y;
  69. }
  70.  
  71. int main() {
  72. int a=100, b=400, c=20,d=101;
  73. for(int i=50;i<=a; i++){
  74. for(int j=i; j<=b; j++){
  75. for(int u=50; u<c; u++){
  76. for(int k=100; k<d; k++){
  77. if((F1(i,j,u,k)!=f1(i,u,k) ||F2(i,j,u,k)!=f2(i,u,k)||F3(i,j,u,k)!=f3(i,u,k)) && F2(i,j,u,k)*u==F3(i,j,u,k)*k && F2(i,j,u,k)!=0){
  78. cout<<i<<" "<<j<<" "<<u<<" "<<k<<" ";
  79. i=a;
  80. j=b;
  81. u=c;
  82. k=d;
  83. }
  84. }
  85. }
  86. }
  87.  
  88. }
  89. //cout<< F2(3,3,1,1)<<F3(3,3,1,1);
  90. return 0;
  91.  
  92. }
Success #stdin #stdout 0s 15232KB
stdin
9899 9997 1000 10
stdout
Standard output is empty