Interesting Product
my code work very good in my pc but, i got wrong answer:( please HELP me!
от а до b - это промежуток или отрезок?
Если A>B или C>D ответ 0? По логике вещей, нет ни одного способа получить какое-либо произведение, если один из множителей принадлежит несуществующему промежутку.
Помогла подсказка 7х8=8х7
Мда, хитро придумано, однако))
Что не так с решением 1804433?
спасибо за задачку)))Хитрая задумка
Дякую за підказку, LIM17
I cant understand problem how they got 42???
Дає лише 50%.
var a, b, c, d, i, j, k:longint; mas:array[1..100] of boolean; begin readln(a,b,c,d); if a>b then begin i:=a; a:=b; b:=i; end; if c>d then begin i:=c; c:=d; d:=i; end; for i:=a to b do for j:=c to d do mas[i*j]:=true; for i:=1 to 100 do if mas[i]=true then inc(k); writeln(k); end.
include<bits/stdc++.h>
define ll long long
using namespace std; int main() { long long int a, b, c, d; long long int p, pmin, pmax, imin, imax, j, jmin, jmax, rez, flag; cin >> a >> b >> c >> d; if (a < b){ imin = a; imax = b; } else{ imin = b; imax = a; } if (c < d){ jmin = c; jmax = d; } else{ jmin = d; jmax = c; } pmin = imin * jmin; pmax = imax * jmax; rez = 0; for (p = pmin; p <= pmax; p++){ flag = 0; for (int i = imin; i <= imax; i++){ j = p / i; if (p % i == 0 && j >= jmin && j <= jmax) flag = 1; } if (flag == 1) rez = rez + 1; } cout << rez << endl; return 0; }
include <bits/stdc++.h>
using namespace std;
int main() { int say[101] = {0}; int a, b, c, d; cin>>a>>b>>c>>d; if(a > b) swap(a, b); if(c > d) swap(c, d); for(int i = a; i <= b; i++){ for(int j = c; j <= d; j++){ say[i*j] = 1; } } int cav = 0; for(int i = 1; i <= 100; i++){ if(say[i] == 1){ cav++; } } cout<<cav; }
include<stdio.h>
include<set>
int main(){ std::set<int> cnt; int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); if(b<a) std::swap(a,b); if(d<c) std::swap(c,d); for(int i=a; i<=b; i++) for(int j=c; j<=d; j++) cnt.insert(i*j); printf("%d",(int)cnt.size()); }
include <iostream>
include <algorithm>
include <vector>
using namespace std; int main() { vector<long long> vt; int i,j,a,b,c,d,max1,min1,max2,min2; cin>>a>>b>>c>>d; if(a>=b){ max1 = a; min1 = b; } else { max1 = b; min1 = a; } if(c>=d){ max2 = c; min2 = d; } else { max2 = d; min2 = c; } for(i=min1;i<=max1;i++){ for(j=min2;j<=max2;j++){ vt.push_back(i*j); } } sort(vt.begin(),vt.end()); vt.erase(unique(vt.begin(),vt.end()),vt.end()); cout << vt.size(); }