zoukankan      html  css  js  c++  java
  • HDU 6108.小C的倍数问题 (2017"百度之星"程序设计大赛

    补完题?不存在的。

    这么久了,还是一条咸鱼,看一堆乱七八糟的东西,写一堆没用的水题,一点进步都没有,还是那么菜,菜的掉渣。

    这个百毒之星初赛A还会写两道最简单的水题,初赛B一点也不会,菜的难过。。。

    最近看的dp和kmp,垂死挣扎,一点一点看吧。。。

    cf打的还是那么弱,一点进步都没有。。。

    好久没写博客了,最近写的都是水题,都没有写博客的必要,但是还是来水一水(;´д`)ゞ,要不就没有写博客的习惯了。

    吐槽百毒之星,比赛的时候1005交上去,莫名其妙Output Limit Exceeded,然而晚上在杭电一点没改的又重新交了一次,过了?!过了,了。。。

    1001:小C的倍数问题

    Time Limit: 2000/1000 MS (Java/Others)

    Memory Limit: 32768/32768 K (Java/Others)
     

    Problem Description

    根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数。

    现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。

    Input

    第一行一个正整数T表示数据组数(1<=T<=20)。

    接下来T行,每行一个正整数P(2 < P < 1e9),表示一组询问。

    Output

    对于每组数据输出一行,每一行一个数表示答案。

    Sample Input
    1
    10
    Sample Output
    3
     
     

    题意一开始怎么都没看懂,不知道是我的脑回路和出题人不一样,还是因为我语文不好。。。还是大佬给我说的题意才理解的。

    就是找1到p-1的因数的个数,比如10进制,就是0,1,2,3,4,5,6,7,8,9,哎呀,就是那个意思,想想就理解了。。。

     

    代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 int main(){
     5     ll t,n,sum;
     6     scanf("%lld",&t);
     7     while(t--){
     8         scanf("%lld",&n);
     9         sum=0;n--;
    10         for(ll i=1;i<=(ll)sqrt(n);i++){
    11             if(n%i==0&&n/i==i)sum++;
    12             else if(n%i==0&&n/i!=i)sum+=2;
    13         }
    14         printf("%lld
    ",sum);
    15     }
    16     return 0;
    17 }
     
        
     
     
  • 相关阅读:
    conan本地安装包
    Python PIL 怎么知道写入图片格式的kb大小
    怎么对C++枚举(不是类)里面的东西进行随机
    当双方Visual studio windows SDK不一样的时候的解决办法
    不小心使用vcpkg之后再使用conan,一直报链接错误
    关于obj文件的理解
    卸载VS2015之后,安装VS2017出错
    性状、生成器、闭包、OPcache【Modern PHP】
    docker容器修改hosts文件,重启失效问题解决
    微信公众号-模板消息通用接口封装
  • 原文地址:https://www.cnblogs.com/ZERO-/p/7354176.html
Copyright © 2011-2022 走看看