【Light】[1116]Ekka Dokka

这里写图片描述

这题要求是
输入W
然后输出两 N M
其中N为奇数 M为偶数 并且M需要尽可能小

又题意及数学知识可知
奇数一定会输出“Impossible”
而对于偶数
则可使用暴力遍历
然后进行判断

#include<stdio.h>
int main() {
    int T;
    int i;
    long long W,j,k;
    scanf("%d",&T);
    for(i=1; i<=T; i++) {
        scanf("%lld",&W);
        printf("Case %d: ",i);
        if(W&1)
            printf("Impossible\n");
        else {
            for(j=2; j<=W; j+=2) {
                if(W%j==0)
                    if((W/j)&1) {
                        k=W/j;
                        printf("%lld %lld\n",k,j);
                        break;
                    }
            }
        }
    }
    return 0;
}

题目地址:【Light】[1116]Ekka Dokka

posted @ 2015-12-26 22:02  BoilTask  阅读(8)  评论(0编辑  收藏  举报