zoukankan      html  css  js  c++  java
  • 20190524 题解

    1、走楼梯(平均分:67.7分)

    试题描述

    一个楼梯有 n 级,小苏同学从下往上走,一步可以跨一级,也可以跨两级。问:他走到第 N 级楼梯有多少种走法?

    输入

    一行一个整数 n 。

    输出

    一行 n 个整数,之间用一个空格隔开,表示走到第 1 级、第 2 级、……第 n 级分别有多少种走法。

    输入示例

    2

    输出示例

    1 2

    其他说明

    数据范围:0 < n <= 30 。

    提示:斐波那契数列。须注意初始化。

    #include<iostream>
    using namespace std;
    int a[31];
    int main()
    {
    	int n;
    	cin>>n;
    	a[1]=1,a[2]=2;
    	for(int i=3;i<=n;i++) a[i]=a[i-1]+a[i-2];
    	cout<<a[1];
    	for(int i=2;i<=n;i++) cout<<" "<<a[i];
    	return 0;
    }
    

    2、幸运数的划分(平均分:69.2分)

    试题描述

    判断一个正整数 n 是否能被一个“幸运数”整除。幸运数是指一个只包含 4 或 7 的正整数,如 7、47、477等都是幸运数,17、42则不是幸运数。

    输入

    一行一个正整数 n 。

    输出

    一行一个字符串,如果能被幸运数整除输出“YES”;否则,输出“NO”。

    输入示例

    47

    输出示例

    YES

    其他说明

    数据范围:1 <= n <= 1000。

    提示:打表。

    #include<iostream>
    using namespace std;
    int a[14]={4,7,44,47,74,77,444,447,474,477,744,747,774,777};
    int main()
    {
    	int n;
    	cin>>n;
    	for(int i=0;i<=13;i++){
    		if(n%a[i]==0){
    			cout<<"YES";
    			return 0;
    		}
    	}
    	cout<<"NO";
    	return 0;
    } 

    3、高个子的人数(平均分:82.9分)

    试题描述

    给定 n 个同学的身高(均为100 - 200之间的整数),求超过平均身高的同学人数。

    输入

    第一行包含一个整数 n 。 第二行包含 n 个正整数,之间用一个空格隔开。

    输出

    一行一个整数,表示超过平均身高的同学人数。

    输入示例

    6 160 155 170 175 172 164

    输出示例

    3

    其他说明

    数据范围:n <= 10000 。

    提示:int除法自动向下取整。

    #include<iostream>
    using namespace std;
    int a[10001];
    int main()
    {
    	int n;
    	cin>>n;
    	int s=0;
    	for(int i=1;i<=n;i++) cin>>a[i],s+=a[i];
    	int avg=s/n,ans=0;
    	for(int i=1;i<=n;i++){
    		if(a[i]>avg) ans++;
    	}
    	cout<<ans;
    	return 0; 
    } 
    

      

    4.旗手(平均分:58.3分)

    试题描述

    导游往往喜欢从所带的旅游团中选一个身高最高的游客,站在旅游团的前面帮着拿旅行社的旗帜。现在给定 n 个游客的身高(均为正整数),将身高最高的游客(如果身高最高的游客不唯一,那么选择最前面的那一个)和第一个游客调换位置,再依次输出他们的身高。

    输入

    第一行一个正整数 n ,表示有 n 个游客。 第二行包含 n 个正整数,之间用空格隔开,表示 n 个游客的身高。

    输出

    一行 n 个正整数,每两个数之间用空格隔开,表示调换位置后各个位置上游客的身高。

    输入示例

    6 160 155 170 175 172 164

    输出示例

    175 155 170 160 172 164

    其他说明

    数据范围:1 <= n <= 10000。

    提示:swap交换函数。

    #include<iostream>
    using namespace std;
    int a[10001];
    int main()
    {
    	int n;
    	cin>>n;
    	int maxn=0,maxa;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    		if(a[i]>maxn) maxn=a[i],maxa=i;
    	}
    	swap(a[maxa],a[1]);
    	cout<<a[1];
    	for(int i=2;i<=n;i++) cout<<" "<<a[i];
    	return 0;
    }
  • 相关阅读:
    PAT(A) 1065. A+B and C (64bit) (20)
    PAT(A) 1046. Shortest Distance (20)
    PAT(A) 1042. Shuffling Machine (20)
    PAT(A) 1009. Product of Polynomials (25)
    PAT(A) 1002. A+B for Polynomials (25)
    win10开始菜单打不开怎么办?
    排序
    C语言文件读写操作总结
    NO.3 4 章 模拟、算法初步
    POJ2104 K-th Number(归并树)
  • 原文地址:https://www.cnblogs.com/dong-ji-yuan/p/10947572.html
Copyright © 2011-2022 走看看