Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/ #include <stdio.h> #include <math.h> int main() { long long int m, n, w; long long int tst, i, j, odd, Valid, limit; scanf("%lld", &tst); for(i=1; i<=tst; i++) { scanf("%lld", &w); limit = w/2; Valid = 0; odd = 0; for(j=2; j <= limit; j *= 2) { if(w%j == 0) odd = w/j; if(odd%2 == 1) { Valid = 1; break; } } if(Valid==1) printf("Case %lld: %lld %lld\n", i, odd, j); else printf("Case %lld: Impossible\n", i); } return 0; }
#include
ReplyDelete#include
int main()
{
int j,i,x,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x%2==0)
{
for(j=2;j<=x/2;j=j+2)
{
if(x%j==0&&((x/j)%2==1))
{
printf("Case %d: %d %d\n",i,x/j,j);
break;
}
}
}
else
printf("Case %d: Impossible\n",i);
}
return 0;
}
can you please help me to find where my mistake is