• 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 }
     
        
     
     
  • 相关阅读:
    Oauth2.0认证原理
    互联网开放平台API安全设计
    API接口幂等性框架设计
    防盗链&CSRF&API接口幂等性设计
    ElasticSearch高可用集群环境搭建和分片原理
    SpringBoot2.0+ElasticSearch网盘搜索实现
    Elasticsearch6.4.3文档的映射
    中文分词器
    C# 插件
    JavaScript 网址
  • 原文地址:https://www.cnblogs.com/ZERO-/p/7354176.html
Copyright © 2020-2023  润新知