最大公约数和最小公约数

描述:

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:

输入在一行中给出两个正整数M和N(≤1000)。

输出格式:

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

输出样例:

73 2044

代码:

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
    return b==0?a:gcd(b,a%b);
}
int main(){
    int n,m;
    cin>>n>>m;
    cout<<gcd(n,m)<<" "<<n*m/gcd(n,m);
    return 0;
} 

解析:

题目非常简单,一套辗转相除就出来了。GCD

情人节

描述:

以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。

输入格式:

输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。

输出格式:

根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you to dinner...”;若只有A没有B,则输出“A is the only one for you...”;若连A都没有,则输出“Momo... No one is for you ...”。

输入样例:

>

GaoXZh
Magi
Einst
Quark
LaoLao
FatMouse
ZhaShen
fantacy
latesum
SenSen
QuanQuan
whatever
whenever
Potaty
hahaha
.

输出样例:

Magi and Potaty are inviting you to dinner...

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s,s1,s2;
    int count=0;
    while(cin>>s)
    {
        if(s[0]=='.')
            break;
        count++;
        if(count==2)
            s1=s;
        if(count==14)
            s2=s;
    }
    if(count>=14)
        cout<<s1<<" and "<<s2<<" are inviting you to dinner...";
     if(count>=2&&count<14)
      cout<<s1<<" is the only one for you...";
     if(count<2)
     cout<<"Momo... No one is for you ...";
    return 0;
}

解析:

根据题意模拟一下,同时接受每个人的名字并且单独保存2和14的人名并记录人名数量,最后根据题意输出。


一只小菜鸡