- 论坛徽章:
- 0
|
天啊,怎么俺算起来就直接溢出了呢
俺用java写了个,大家看看问题在哪
public class Numen
{
public long f(int n)
{
if (n == 1)
{
return 1;
}
else return f(n-1) + y(n);
}
public int y(int n)
{
String s = new Long(n).toString();
int iNum = 0;
for(int i = 0;i< s.length(); ++i)
{
String t = s.substring(i,i+1);
if ( t.equals("1"))
{
++ iNum;
}
}
return iNum;
}
}
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Numen numen = new Numen();
/*
for( long i =0;i < Long.MAX_VALUE,f(n) ;++i)
{
if ( numen.f((int)i) == i )
{
System.out.println(i);
}
}
*/
System.out.println(numen.f(199981));
}
} |
|