第13天

一、
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 567 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

输入格式:
输入在一行中给出一个正整数 N(1<N<231)。

输出格式:
首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。

输入样例:
630

 
输出样例:
3
5*6*7
#include <stdio.h>
#include <math.h>
int main()
{
    int n,i,j,count=0,first=0,maxn,temp;
    scanf("%d",&n);
    maxn=sqrt(n)+1;
    for(i=2; i<=maxn; i++)
    {
        temp=1;
        for(j=i; j<=maxn; j++)
        {
            temp*=j;//连乘积
            if(n%temp!=0)//加入一个因子后变成非连乘积
                break;
        }
        if(j-i > count)
        {
            count=j-i;//记录连乘积的最大因子个数
            first=i;//连成积的第一个因子
        }
    }
      if(first==0)//1和质数
          printf("%d\n%d",1,n);
      else
      {
          printf("%d\n",count);
          for(i=0; i<count; i++,first++)
              i==0?printf("%d",first):printf("*%d",first);
      } 
      return 0;
}

二、

每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。

输入格式:
输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。

考生信息之后,给出一个正整数 M(≤N),随后一行中给出 M 个待查询的试机座位号码,以空格分隔。

输出格式:
对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用 1 个空格分隔。

输入样例:
4
3310120150912233 2 4
3310120150912119 4 1
3310120150912126 1 3
3310120150912002 3 2
2
3 4
输出样例:
3310120150912002 2
3310120150912119 1
#include<stdio.h>
int main() {
    int n;
    int m;
    int i,j;
    scanf("%d",&n);
    int m1[n];
    int m2[n];
    char m3[n][20];
    for(i=0; i<n; i++) {
        scanf("%s %d %d",m3[i],&m1[i],&m2[i]);
    }
    scanf("%d",&m);
    for(i=0; i<m; i++) {
        int x;
        scanf("%d",&x);
        for(j=0; j<n; j++) {
            if(m1[j]==x) {
                printf("%s %d\n",m3[j],m2[j]);
                break;
            }
        }
    }
    return 0;
}

三、

给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。

输入格式:
输入在一行中给出一个华氏温度。

输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。

输入样例:
150
输出样例:
Celsius = 65
#include<stdio.h>
int main()
{
        int x;
        scanf("%d",&x);
        printf("Celsius = %d\n",5*(x-32)/9);
        return 0;
}

 



posted @ 2023-07-14 19:40  七安。  阅读(11)  评论(0编辑  收藏  举报