问题标题: 酷町堂:2881 互质的数之和(0分)

0
0
已解决
王光裕
王光裕
资深光能
资深光能

题目描述 Description

在某学校图书馆里有一个巨大的服务器,每天处理着全校师生发过来的各种请求。由于这个服务器性能十分强大,无论同时发过来多少请求,它都能同时处理。当没有请求要处理时,为了节能,服务器就会进入休眠状态。现在给出服务器收到的n个请求,和每个请求开始处理和处理结束的时间,试着求出服务器在工作时间里总共休眠的时间。

输入描述 Input Description

第一行,请求的个数,N
接下来N行,每行两个整数,s e,s表示每个请求开始处理的时间,e表示这个请求处理结束的时间

输出描述 Output Description

服务器休眠的总时间

样例输入 Sample Input


 

3

#include<iostream>
using namespace std;
int main()
{
    long long x,n,sum=0;
    cin>>x>>n;
    for(int i=1;i<=n;i++)
    {
        if(i%2==0&&x%2==1||i%2==1&&x%2==0)
            sum+=i;
        if(i/x!=0)
        {
            if(i%2==1&&x%2==1)
            {
                sum+=i;
            }
        }

    }
    cout<<sum;
    return 0;
}


1 3
8 12
15 20

样例输出 Sample Output


 

8

数据范围及提示 Data Size & Hint

s和e的范围不会超过int
n<=100

王光裕在2019-08-27 19:06:29追加了内容

题目发错了

 

题目描述 Description

给出一个整数x和一个整数n。试求出小于等于n的数中所有与x互质的数的和。

输入描述 Input Description

一行,两个整数以空格隔开,x n

输出描述 Output Description

小于等于n并且和x互质的所有整数之和

样例输入 Sample Input


 

1 5

样例输出 Sample Output


 

15

数据范围及提示 Data Size & Hint

1≤x≤30
1≤n≤100


0
已采纳
张凌峰
张凌峰
新手光能
新手光能

@王光裕 你好

2881这道题的思路是这样的:

1.先定义bool型函数,目的是判断i和x是不是互质。

    if(x==1&&y==1)//1和1互质 
        return true;
    else if(x<=0||y<=0||x==y)//其中一个数是负数或两数相等不互质 
        return false;
    else if(x==1||y==1)//1和任何数都互质 
        return true;

以上是判断互质的特殊情况

else       //以上是特殊处理,下面求两数最大公因数是否为1,为1则互质 
    {
        int tmp=0;
        while(1)
        {
            tmp=x%y;
            if(tmp==0)
                break;
            else
            {
                x=y;
                y=tmp;
            }
        }
        if(y==1)          
            return true;
        else              
            return false;

    }

这个是传统方法:判断两数的最大公因数是否为1,为1则互质。

2.在主函数里,需要将i和x传到函数里。如果返回真,则把当前的i加到计数器里

3.输出计数器。

望采纳!谢谢!

0
0
我要回答