Cod sursa(job #2786087)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 20 octombrie 2021 11:03:51
Problema Pascal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
using namespace std;
ifstream F("pascal.in");
ofstream G("pascal.out");
int r,d,l,i,s,j,a,b,c;
int main()
{
	F>>r>>d;
    if(d==2)
		for(i=1;i<=r/2;++i) {
			for(s=r-i+1;s%2==0;++a,s>>=1);
			for(j=i;j%2==0;--a,j>>=1);
			l+=!!(a);
		}
	else if(d==3)
		for(i=1;i<=r/2;++i) {
			for(s=r-i+1;s%3==0;++b,s/=3);
			for(j=i;j%3==0;--b,j/=3);
			l+=!!(b);
		}
	else if(d==4)
		for(i=1;i<=r/2;++i) {
			for(s=r-i+1;s%2==0;++a,s>>=1);
			for(j=i;j%2==0;--a,j>>=1);
			l+=!!(a>>1);
		}
	else if(d==5)
		for(i=1;i<=r/2;++i) {
			for(s=r-i+1;s%5==0;++c,s/=5);
			for(j=i;j%5==0;--c,j/=5);
			l+=!!(c);
		}
	else if(d==6)
		for(i=1;i<=r/2;++i) {
			for(s=r-i+1;s%2==0;++a,s>>=1;
			for(j=i;j%2==0;--a,j>>=1);
			for(s=r-i+1;s%3==0;++b,s/=3);
			for(j=i;j%3==0;--b,j/=3);
			l+=!!a&&!!b;
		}
    if(l&&!(r&1))
		l=(l<<1)-1;
	else
		l<<=1;
    G<<l;
    return 0;
}