2020-11-01

技术文章 11个月前 完美者
1,539 0

标签:开始   include   顺序   const   com   namespace   iostream   log   tst   

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\n%d",len,i);
23                 for(int k=i+1; k<j; k++)
24                     printf("*%d",k);
25                 printf("\n");
26                 return 0;
27             }
28         }
29     }
30     printf("1\n%d\n",N);//质数的情况
31     return 0;
32 }

 

2020-11-01

标签:开始   include   顺序   const   com   namespace   iostream   log   tst   

原文地址:https://www.cnblogs.com/-gcq/p/13912374.html

版权声明:完美者 发表于 2020-11-02 10:45:09。
转载请注明:2020-11-01 | 完美导航

暂无评论

暂无评论...