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;
}