回 帖 发 新 帖 刷新版面

主题:POJ1019高手请进

请各位高手看下POJ的1019
#include<stdio.h>
#include<iostream>
using namespace std;
int c(int i)
{
    int count=0;
    while(i>0)
    {
        i/=10;
        count++;
    }
    return count;
}
int main(void)
{
    int a,i,t,n,e,p;
    cin>>t;
    while(t--)
    {
        cin>>n;
        a=0;
        p=0;
        for(i=1;i<=32628 ;i++)
        {
            e=c(i)+a;
            if(n-e<0)
            {
                p=i;
                break;
            }
            a=e;
            n=n-e;
        }
        if(n==0)
        {
            cout<<(p-1)%10<<endl;
            continue;
        }
        for (i=1;i<=p;i++)
        {
            if(n-c(i) >= 0)
                n -= c(i);
            else
            {
                p = i;
                break;
            }

        }
        if(n==0)
        p=(p-1)%10;
        else
        {
            n=c(p)-n;
            while(n--)
            {
                p/=10;
                
            }
        }
        cout<<p<<endl[color=FF0000];//令这个输入为1[/color]
    
        cout<<p%10<<endl;//[color=0000FF]令这个输入为2[/color]

            
    }
    return 0;
}
请问各位达人们我调试了很多数据但分不清1和2的区别在于哪里。。
0

回复列表 (共3个回复)

沙发


就是这两个输出到底有啥区别,那位高手能帮帮忙啊

板凳

北京清北学堂
这里有专业的资料和信息
优秀的高中生需要的话去看看
http://www.topschool.org/Index.html

3 楼

一看就知道!仔细看看……不行再想想……

我来回复

您尚未登录,请登录后再回复。点此登录或注册