zoukankan      html  css  js  c++  java
  • 找整除--全国模拟(二)

    [编程题] 找整除
    时间限制:1秒
    空间限制:32768K
    牛牛想在[a, b]区间内找到一些数满足可以被一个整数c整除,现在你需要帮助牛牛统计区间内一共有多少个这样的数满足条件? 
    输入描述:
    首先输入两个整数a,b,(-5*10^8 ≤ a ≤ b ≤ 5*10^8) 接着是一个正整数c(1 <= c <= 1000)
     
     
    输出描述:
    输出一个整数表示个数。
     
    输入例子:
    0 14 5
     
    输出例子:
    3
     
    解题思路:本题采用正常的步骤算,会超时
     1 #include <iostream>
     2 using namespace std;
     3  
     4 int main()
     5 {
     6     int a;
     7     int b;
     8     int c;
     9     while(cin>>a>>b>>c)
    10     {
    11         int count = 0;
    12         for(int i=a;i<=b;i++)
    13         {
    14             if(i%c == 0)
    15                 count++;
    16         }
    17         cout<<count<<endl;
    18         return 0;
    19     }
    20 }


    正确解题思路:定义find函数求出[x,y]区间能够被c整除的个数
    如果a b同号,判断a、b的大小,然后调用find函数即可
    如果a、b异号,判断a、b哪个是负数,结果为find(1,正数)+find(负数,-1)+1(0)

     1 #include <iostream>
     2 using namespace std;
     3 //找到x y区间可以被c整除的个数
     4 int find(int x,int y,int c)
     5 {
     6     int sum = (y-x)/c;
     7     if(x%c==0||y%c==0) sum++;
     8     return sum;
     9 }
    10 int main()
    11 {
    12     int a;
    13     int b;
    14     int c;
    15     while(cin>>a>>b>>c)
    16     {
    17         int num = 0;
    18         if((a >> 31) == (b >> 31))//同号
    19         {
    20             if(a>b)
    21             {
    22                 num = find(b,a,c);
    23             }
    24             else
    25             {
    26                 num = find(a,b,c);
    27             }
    28         }
    29         else
    30         {
    31             if(a>b)
    32             {
    33                 num = find(1,a,c)+find(b,-1,c)+1;
    34             }
    35             else
    36             {
    37                 num = find(1,b,c)+find(a,-1,c)+1;
    38             }
    39         }
    40  
    41         cout<<num<<endl;
    42  
    43     }
    44 }
  • 相关阅读:
    JVM参数说明介绍
    使用Intellij IDEA的Bookmarks
    js中对小数取整
    idea 中pom.xml依赖版本号报错(报红,如下图所示)
    Springboot项目启动后访问不到Controller
    pringBoot Controller接收参数的几种常用方式
    Spring启动执行流程梳理
    SQL条件语句(IF, CASE WHEN, IF NULL)
    获取tomcat服务器上的部分日志
    Linux下 SpringBoot jar项目后台运行、查看、停用
  • 原文地址:https://www.cnblogs.com/qqky/p/6985027.html
Copyright © 2011-2022 走看看