给定一个正整数n,则1,2,...,n这n个数字能组成多少个互不相同且无重复数字的三位数。输入要求:输入一个正整数n ( 3 <= n <= 9 )。输出要求:先输出三位数的个数, 然后按升序输出所有的三位数, 数据之间用一个空格隔开。最后一个数据的后面没有空格,直接换行。 多组测试数据,可用while(scanf()!=EOF)。C语言代码
时间: 2024-02-05 20:12:36 浏览: 149
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int cnt = 0;
for (int i = 1; i <= n; i++) {
for (int j = 0; j <= 9; j++) {
if (i == j) continue;
for (int k = 0; k <= 9; k++) {
if (i == k || j == k) continue;
printf("%d%d%d ", i, j, k);
cnt++;
}
}
}
printf("\n%d\n", cnt);
}
return 0;
}
```
相关问题
给定一个正整数n,则1,2,...,n这n个数字能组成多少个互不相同且无重复数字的三位数。 给出C语言代码
```c
#include <stdio.h>
int main() {
int n, cnt = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 0; j <= 9; j++) {
if (j == i % 10) continue;
for (int k = 0; k <= 9; k++) {
if (k == i % 10 || k == j || k == i / 10) continue;
cnt++;
}
}
}
printf("%d\n", cnt);
return 0;
}
```
思路:枚举所有可能的三位数,依次判断其是否满足所有数字互不相同。
用JAVA代码实现 给定一个正整数n,将1、2、...、n, 其中5<n<10, 这n个数字能组成多少个互不相同且无重复的五位数的偶数
以下是用Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int n = 8;
int count = 0;
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
if (j != i) {
for (int k = 1; k <= 9; k++) {
if (k != i && k != j) {
for (int m = 1; m <= 9; m++) {
if (m != i && m != j && m != k) {
int num = i * 10000 + j * 1000 + k * 100 + m * 10 + 2;
if (num % 2 == 0) {
count++;
}
}
}
}
}
}
}
}
System.out.println("能组成 " + count + " 个互不相同且无重复的五位数的偶数。");
}
}
```
其中,变量`n`表示数字范围为`1`到`n`,本题中`n`等于`8`。使用四层循环枚举所有可能的五位数,并通过判断最后一位是否为偶数来计数。需要注意的是,数字不能重复,因此在每一层循环中都要判断之前已经选过的数字不能再次选取。
阅读全文