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 ara[1001],k, cnt, j, tmp; void square(int ara[]) { for(k=1; k<=32; k++) ara[k*k]=-1; } void devisor(int ara[]) { for(k=1; k<=1000; k++) { tmp = sqrt(k); for(j=1, cnt=0; j<=tmp; j++) { if(k%j==0) cnt++; } ara[k]+=(cnt*2); } } int main() { int tst, i, fnl[1001], n; scanf("%d", &tst); int l=2; fnl[1] = 1; square(ara); devisor(ara); for(j=2; j<=32; j++) { for(k=1000; k>=2; k--) { if(ara[k]==j) { fnl[l]=k; l++; } } } for(i=1; i<=tst; i++) { scanf("%d", &n); printf("Case %d: %d\n", i, fnl[n]); } return 0; }
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.