GCD vs LCM

Posted on   zeitspeed  阅读(43)  评论(0编辑  收藏  举报

You are given a positive integer nn. You have to find 44 positive integers a, b, c, da,b,c,d such that

a + b + c + d = na+b+c+d=n, and
\gcd(a, b) = \operatorname{lcm}(c, d)gcd(a,b)=lcm(c,d).
If there are several possible answers you can output any of them. It is possible to show that the answer always exists.

In this problem \gcd(a, b)gcd(a,b) denotes the greatest common divisor of aa and bb, and \operatorname{lcm}(c, d)lcm(c,d) denotes the least common multiple of cc and dd.

Input
The input consists of multiple test cases. The first line contains a single integer tt (1 \le t \le 10^41≤t≤10
4
) — the number of test cases. Description of the test cases follows.

Each test case contains a single line with integer nn (4 \le n \le 10^94≤n≤10
9
) — the sum of aa, bb, cc, and dd.

Output
For each test case output 44 positive integers aa, bb, cc, dd such that a + b + c + d = na+b+c+d=n and \gcd(a, b) = \operatorname{lcm}(c, d)gcd(a,b)=lcm(c,d).

Sample 1
Inputcopy Outputcopy
5
4
7
8
9
10
1 1 1 1
2 2 2 1
2 2 2 2
2 4 2 1
3 5 1 1
Note
In the first test case \gcd(1, 1) = \operatorname{lcm}(1, 1) = 1gcd(1,1)=lcm(1,1)=1, 1 + 1 + 1 + 1 = 41+1+1+1=4.

In the second test case \gcd(2, 2) = \operatorname{lcm}(2, 1) = 2gcd(2,2)=lcm(2,1)=2, 2 + 2 + 2 + 1 = 72+2+2+1=7.

In the third test case \gcd(2, 2) = \operatorname{lcm}(2, 2) = 2gcd(2,2)=lcm(2,2)=2, 2 + 2 + 2 + 2 = 82+2+2+2=8.

In the fourth test case \gcd(2, 4) = \operatorname{lcm}(2, 1) = 2gcd(2,4)=lcm(2,1)=2, 2 + 4 + 2 + 1 = 92+4+2+1=9.

In the fifth test case \gcd(3, 5) = \operatorname{lcm}(1, 1) = 1gcd(3,5)=lcm(1,1)=1, 3 + 5 + 1 + 1 = 103+5+1+1=10.

#include<stdio.h>
int main(void){
    int n;
    scanf("%d",&n);
    int m;
    int a[4]={1,1,1,1};
    for(int i=0;i<n;i++){
        scanf("%d",&m);
        a[0]+=(m-4);
        for(int l=0;l<4;l++){
            printf("%d ",a[l]);
        }
        printf("\n");
        a[0]=1;
    }
    return 0;
}
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示