第四周作业
4-0.求符合给定条件的整数集(15)
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式: 输入在一行中给出A。
输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行未不能有多余空格。
输入样例:2
输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
int i,j,k;
int cnt=0;
i=a;
while(i<=a+3){
j=a;
while(j<=a+3){
k=a;
while(k<=a+3){ //得到三个数字
if(i!=j){ //剔除重复数字
if(i!=k){
if(j!=k){
cnt++;
printf("%d%d%d",i,j,k);
//printf("%d",i*100+j*10+k);
if(cnt == 6 ){
printf("\n");
cnt = 0;
}else{
printf(" ");
}
}
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
水仙花数
水仙花数是指一个N位正整数(N>=3) ,它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+5^3+3^3
,本题要求编写程序 计算所有N位水仙花数。
- 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。
- 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。
- 输入样例: 3
- 输出样例: 153 370 371
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int first = 1;
int i=1;
while(i<n){ //判断n是几位数,确定其范围
first *=10;
i++;
}
i=first;
while(i<first*10){ //遍历n位数
int t=i; //t用于存储i并分解i
int sum=0; //记录数n次幂累加的结果
do{
int d=t%10; //取数的最低位
t/=10; //去掉最低位
int p=1; //幂次结果
int j=0; //计数变量
while(j<n){ //选出最低位的n次方
p*=d;
j++;
}
sum +=p;
}while(t>0);
if(sum == i){
printf("%d\n",i);
}
i++;
}
return 0;
}
九九乘法表
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i, j;
while (i <= n)
{
j = 1;
while (j <= i)
{
printf("%d*%d=%d", j, i, i * j);
if (i * j < 10)
{
printf(" ");
}
else
{
printf(" ");
}
j++;
}
printf("\n");
i++;
}
return 0;
}
统计素数
#include <stdio.h>
int main()
{
int m, n;
int i;
int cnt = 0;
int sum = 0;
scanf("%d %d",&m,&n);
if (m==1)
{
m=2;
}
for ( i = m; i <=n; i++)
{
int isprime = 1;
int k;
for (k=2 ;k<i-1;k++)
{
if (i%k==0)
{
isprime=0;
break;
}
}
//判断i是否为素数
if (isprime)
{
cnt++;
sum+=i;
}
}
printf("%d %d\n",cnt,sum);
return 0;
}
猜数游戏
#include <stdio.h>
int main()
{
int number, n;
int inp;
int finished;
int cnt;
scanf("%d %d", &number, &n);
do
{
scanf("%d", &inp);
cnt++;
if (inp < 0)
{
printf("Game over\n");
finished = 1;
}
else if (inp > number)
{
printf("Too big\n");
}
else if (inp < number)
{
printf("Too small\n");
}
else
{
if (cnt == 1)
{
printf("Binggo!\n");
}
else if (cnt <= 3)
{
printf("Lucky You\n");
}
else
{
printf("Good Guess!");
}
finished = 1;
}
if (cnt == n)
{
if (!finished)
{
printf("Game Over\n");
finished = 1;
}
}
} while (!finished);
return 0;
}