大家看看这几个题怎么整

1题
有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?输出每一个数。

有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?按照从小到大的顺序输出每一个数,数之间用空格分隔,最后一个数的后面也要有空格。
2题
形如a3= b3 + c3 + d3的等式被称为完美立方等式。例如123= 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中a,b,c,d 大于 1, 小于等于N,且b<=c<=d。

输入

一个正整数N (N≤100)。

输出

每行输出一个完美立方。输出格式为:

Cube = a, Triple = (b,c,d)

其中a,b,c,d所在位置分别用实际求出四元组值代入。

请按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则b值小的优先输出、仍相同则c值小的优先输出、再相同则d值小的先输出。

样例输入

24

样例输出

Cube = 6, Triple = (3,4,5)

Cube = 12, Triple = (6,8,10)

Cube = 18, Triple = (2,12,16)

Cube = 18, Triple = (9,12,15)

Cube = 19, Triple = (3,10,18)

Cube = 20, Triple = (7,14,17)

Cube = 24, Triple = (12,16,20)

3题
斐波那契数列。

描述

斐波那契数列是一组第一位和第二位为1,从第三位开始,后一位是前两位和的一组递增数列,像这样的:1、1、2、3、5、8、13、21、34、55......。从键盘输入正整数N,输出斐波那契数列的前N项以及前N项的和。

输入

一个正整数N 。

输出

输出两行,第一行为斐波那契数列的前N项,每项之间用空格隔开,最后一项后面也要有空格,第二行为斐波那契数列前N项的和

样例输入

6

样例输出

1 1 2 3 5 8

20

4题
分解质因数。

描述

每一个大于等于2的自然数,均可写成一个或多个质数的乘积,例如:20=225;90=233*5。这种将一个整数分割成若干个质数之积的操作叫做分解质因数。现在,给你一个整数N,请你编写一个程序,对其分解质因数。

输入

输入为一行,正整数N。

输出

输出N的质因数分解形式。

样例输入

20

样例输出

20=225

1.

#include <stdio.h>

int main()
{
    //有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    int i, j, k;
    printf("\n");
    for (i = 1; i < 5; i++)
    { // 以下为三重循环,百位
        for (j = 1; j < 5; j++)
        { //十位
            for (k = 1; k < 5; k++)
            { // 个位
                if (i != k && i != j && j != k)
                { //确保i、j、k三位互不相同
                    printf("%d%d%d ", i, j, k);
                }
            }
        }
    }
    printf("\n");
}

2.

int main()
{
    int a, b, c, d, i;
    scanf("%d", &i);
    for (d = 1; d <= i; d++)
        for (a = 2; a <= 100; a++)
            for (b = a; b <= 100; b++)
                for (c = b; c <= 100; c++)
                    if (d * d * d == a * a * a + b * b * b + c * c * c)
                        printf("Cube = %d, Triple = (%d,%d,%d)\n", d, a, b, c);
    return 0;
}

3.

#include <stdio.h>
 
int main()
{
    int i, n, t1 = 1, t2 = 1, nextTerm,sum = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; ++i)
    {
        printf("%d ", t1);
        sum += t1;
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;
    }
    printf("\n%d",sum);
    return 0;
}

4.

#include <stdio.h>
int main()
{
    int n; // 用户输入的整数
    int i; // 循环标志
    scanf("%d", &n);
    printf("%d=", n);
    // n>=2才执行下面的循环
    for (i = 2; i <= n; i++)
    {
        while (n != i)
        {
            if (n % i == 0)
            {
                printf("%d*", i);
                n = n / i;
            }
            else
                break;
        }
    }
    printf("%d\n", n);
    return 0;
}