#include<stdio.h>
#include<math.h>
int main()
{
int t,j,i,te;
long long n,s,x,y;
scanf("%d",&i);
for(j=1;j<=i;j++){
scanf("%lld",&s);
n=ceil(sqrt ((double)(s)));
if(n*n-s<n)x=n,y=n*n-s+1;
else x=-n*n+2*n+s-1,y=n;
if(n&1)
{
te=x;
x=y;
y=te;
}
printf("Case %d: %lld %lld\n",j,x,y);
}
return 0;
}
bro if u explain it how it works than it will be helpful to us.
ReplyDeleteপ্রথমে আমরা কিছু অংশে ভাগ করি।
১-৪ পর্যন্ত, ৫-৯ পর্যন্ত, ১০-১৬...
১-৪ এর ক্ষেত্রে...
৪ এর বর্গমূল মান=২ । বাকি ১,২,৩ কে বর্গমূল করে ceiling করলে মান হয় ২ ।
৫-৯ এর ক্ষেত্রে...
৯ এর বর্গমূল ৩ । বাকি ৫,৬,৭,৮ কেও বর্গমূল করে ceiling করলে মান হয় ৩ ।
যদি চিত্রের নিচ থেকে row and column হিসেব করি...
এখানে একটা বিষয় লক্ষ্য করলে দেখা যাবে যে ৫-৯ থেকে আমরা ৩ পাই । এই ৩ হচ্ছে ৫-৯ এর row অথবা column মান ।
যেহেতু মান ৩ ,তাই ৯ থেকে ৩ টি সংখ্যা র জন্য row মান ৩...(৯,৮,৭)। ৬ ও ৫ এর ক্ষেত্রে কলাম এর মান ৩ হবে ।
এটা বের করার জন্য ( n*n-s<n) এই সূত্র ব্যবহার করা হয়েছে ।এই ক্ষেত্রে এটা সত্য হবে কেবলমাত্র ৯,৮,৭ এর জন্য এবং ৯,৮,৭ এর হবে ৩ । এর কলাম এর ক্ষেত্রে দেখতে পাচ্ছি যে ৯ আছে ১ নং কলাম এ ,৮ আছে ২ নং কলাম এ, ৭আছে ৩ নং কলাম এ...
আমরা যদি ৯-৯=০ , ০+১=১...যা ৯ এর কলাম।। আবার ৯-৮=১ , ১+১=২.. যা ৮ এর কলাম।। আবার ৯-৮=১ , ১+১=২.. যা ৮ এর কলাম।।
আশা করি আপনি মোটামুটি বুঝতে পেরেছেন । ধন্যবাদ।
Thanks for explaining...
Delete:)
nice piece of code (y)
ReplyDelete#include
ReplyDeleteint main()
{
int ara[5][5]={{1,4,5,16,17},{2,3,6,15,18},{9,8,7,14,19},{10,11,12,13,20},{25,24,23,22,21}};
int T,i,s,r,c;
scanf("%d", &T);
for(i=1; i<=T; i++)
{
scanf("%d", &s);
for(r=0; r<5; r++)
{
for(c=0; c<5; c++)
{
if(ara[r][c]==s)
{
printf("Case %d: %d %d\n",i,c+1,r+1);
}
}
}
}
return 0;
}
amarta array diye korchi , sob kichu mile but submit korle wrong dehay keno bolte parben?
ReplyDelete#include
ReplyDeleteint main()
{
int ara[5][5]={{1,4,5,16,17},{2,3,6,15,18},{9,8,7,14,19},{10,11,12,13,20},{25,24,23,22,21}};
int T,i,s,r,c;
scanf("%d", &T);
for(i=1; i<=T; i++)
{
scanf("%d", &s);
for(r=0; r<5; r++)
{
for(c=0; c<5; c++)
{
if(ara[r][c]==s)
{
printf("Case %d: %d %d\n",i,c+1,r+1);
}
}
}
}
return 0;
}
This comment has been removed by the author.
ReplyDelete#include
ReplyDelete#include
int main ()
{
long long int x,y,S,m1,m2,n;
int T,i;
scanf("%d",&T);
for (i=1; i<=T; i++)
{
scanf("%I64d",&S);
n=ceil(sqrt(S));
m1=n*n-2*n+2;
m2=n*n;
if(n%2==0)
{
if (S-m1<n)
{
y=n;
x=S-m1+1;
}
else
{
x=n;
y=m2-S+1;
}
}
else
{
if (m2-S<n)
{
y=n;
x=m2-S+1;
}
else
{
x=n;
y=S-m1+1;
}
}
printf("Case %d: %I64d %I64d\n",i,x,y);
}
return 0;
}
এই কোডে রঙ দেখায় কেন?