• 2020-11-01


    7-8 稳赢 (15分)
     

    现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。

    输入格式:

    输入首先在第一行给出正整数K(≤),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi代表“锤子”、JianDao代表“剪刀”、Bu代表“布”。End代表输入结束,这一行不要作为出招处理。

    输出格式:

    对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。

    输入样例:

    2
    ChuiZi
    JianDao
    Bu
    JianDao
    Bu
    ChuiZi
    ChuiZi
    End
    
     

    输出样例:

    Bu
    ChuiZi
    Bu
    ChuiZi
    JianDao
    ChuiZi
    Bu
     
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 #include <string>
     5 #include <cstring>
     6 #include <algorithm>
     7 #include <iomanip>
     8 #include <cstdlib>
     9 #include <cctype>
    10 #include <map>
    11 #define ll long long
    12 #define PI 3.14159265358979323846
    13 using namespace std;
    14 const int maxn = 1e6+7;
    15 
    16 int main(){
    17     int k;
    18     cin>>k;
    19     k++;
    20     string str;
    21     int cnt=1;
    22     while(cin>>str){
    23         if(str=="End"){
    24             break;
    25         }
    26         if(cnt%k==0&&cnt!=0){
    27             cout<<str<<endl;
    28         }
    29         else{
    30             if(str=="ChuiZi"){
    31                 cout<<"Bu"<<endl;
    32             }
    33             else if(str=="JianDao"){
    34                 cout<<"ChuiZi"<<endl;
    35             }
    36             else if(str=="Bu"){
    37                 cout<<"JianDao"<<endl;
    38             }
    39         }
    40         cnt++;
    41     }
    42     return 0;
    43 }
     
    7-6 连续因子 (20分)
     

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

    输入格式:

    输入在一行中给出一个正整数 N(1)。

    输出格式:

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

    输入样例:

    630
    
     

    输出样例:

    3
    5*6*7

    https://www.cnblogs.com/cmmdc/p/6729680.html

     1 #include<stdio.h>
     2 #include<iostream>
     3 #include<string.h>
     4 #include<algorithm>
     5 #include<math.h>
     6 using namespace std;
     7 int main() {
     8     int N;
     9     scanf("%d",&N);
    10     int n=sqrt(N);
    11     int i,j;
    12     long long int sum;
    13     for(int len=11; len>=1; len--) { //len控制连续因子的个数,由于N范围的限制最多只能到12的阶乘
    14         for( i=2; i<=n; i++) { //连续因子不包括1,从2开始乘,最大乘到N开方就肯定够了
    15             sum=1;
    16             for(  j=i; j<=len-1+i; j++) { //从当前的i开始,乘以的个数为len的长度
    17                 sum*=j;
    18                 if(sum>N)//到这就没有必要往下算了
    19                     break;
    20             }
    21             if(N%sum==0) { //当前的sum值是N的一个因子
    22                 printf("%d
    %d",len,i);
    23                 for(int k=i+1; k<j; k++)
    24                     printf("*%d",k);
    25                 printf("
    ");
    26                 return 0;
    27             }
    28         }
    29     }
    30     printf("1
    %d
    ",N);//质数的情况
    31     return 0;
    32 }
  • 相关阅读:
    参考__JAVA
    债券价格和通胀率
    C++ 面试题
    欧式和美式期权
    explicit
    smart pointer
    const pointer
    manacher-马拉车算法
    输入有空格的字符串的2种方法
    bind()与connect()——计网中socket的使用
  • 原文地址:https://www.cnblogs.com/-gcq/p/13912374.html
Copyright © 2020-2023  润新知