| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2256 人关注过本帖
标题:公式理解
取消只看楼主 加入收藏
momotianxin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-6-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
公式理解
做题碰见了一个很头疼的数列
/*****************************/
小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除
输入:包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。
输出:一个整数, 表示区间内能被3整除的数字个数。
/*****************************/
这个题看起来很简单,突然写起来的时候,发现这个数列不知道该怎么搞,弄个for循环生成保存在一个数组里面,发现到12345678910这的时候之前想出的公式又对不上了,重点是这个数列的规律怎么整呢?我必须把每个数都除3吗?
搜索更多相关主题的帖子: 公式 整除 个数 表示 数列 
2020-01-13 11:58
momotianxin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-6-22
收藏
得分:0 
回复 2楼 叶纤
图片附件: 游客没有浏览图片的权限,请 登录注册

不知道你的意思是不是这,如果是的话,公式不符合
int main()
{
    long long tem=0;
    int j;

    for(j=0;j<20;j++)
    {
        tem=(tem*10)+(j+1);
        printf("第%d次temp值为%lld\n",j,tem);
    }

    system("pause");
    return 0;
}   
2020-01-13 15:05
momotianxin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-6-22
收藏
得分:0 
多谢各位大佬帮助,在各位,毋庸置疑4楼大神的代码,精简之至,7楼大佬的比较详细,经过我自己的总结,既然数列的规律是不能,能,能,不能,能,能...我用等效替代法,将结果表示为1,0,0,1,0,0...,也就是将1,12,123,...,123456789,12345678910...替换成1,0,0,1,0,0....然后对此数列进行操作,那么公式将被简化成 i%3 ,为1,跳过,不为1,则sum++ , 代码如下:
#include <iostream>
using namespace std;
int main()
{
    long long sum=0;
    long long l,r;
    long long temp;
    while(cin>>l>>r)
    {   
        if(l>r)
        {
            temp=l;
            l=r;
            r=l;
        }
        for(long long i=l;i<=r;i++)
        {
            if((i%3)==1)//此处将公式简化
            {
                continue;
            }
            else
            {
                sum++;
            }
        }
        cout<<sum<<endl;
    }
    return 0;
}
2020-01-14 08:41
momotianxin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-6-22
收藏
得分:0 
回复 9楼 forever74
恩呢,多谢
2020-01-14 13:52
快速回复:公式理解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015413 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved