| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1537 人关注过本帖
标题:[求助]这个题目谁能给我点提示
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:17 
[求助]这个题目谁能给我点提示
任意输入一个整数,运用函数计算各个位数字相加的结果,如果结果为非“单”位数字,则继续相加,直至结果为“单”位数字为止。
如:输入12345,1+2+3+4+5=15,1+5=6) 结果为6;
输入123, (1+2+3=6) 结果为6。
搜索更多相关主题的帖子: 提示 
2007-05-20 01:04
zyzwlh
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-5-17
收藏
得分:0 
一次又一次的对其求模吧 然后将模相加 再进行判断 我也是初学者 但是以前好像遇到过这道题
2007-05-20 01:20
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
谢谢啦。。。。。。。。。

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-20 06:05
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
有点麻烦 要判断输入的位数 好像前面有帖子 用字符输入 在转换为整数类型相加 相加后最大就两位数 就好办了

fighting!from now on!
2007-05-20 07:55
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用yushui在2007-5-20 7:55:19的发言:
有点麻烦 要判断输入的位数 好像前面有帖子 用字符输入 在转换为整数类型相加 相加后最大就两位数 就好办了

不要判断,直接取模运算就可以了

比如:sum+=a%10;a/=10;

然后在对sum做上边一样的处理(所以我推荐用自定义函数)


自我放逐。。。
2007-05-20 07:59
syuanq
Rank: 2
等 级:新手上路
威 望:3
帖 子:297
专家分:0
注 册:2006-12-11
收藏
得分:0 

import java.io.*;
class Test{
public static void main(String args[])throws IOException{

int sum=0;
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输出一个任意整数: ");
String out=buf.readLine();
int n=out.length();
int j=Integer.parseInt(out);

for(int m=1;m<=n;m++)
{
sum+=j%10;
j=j/10;
}
if(sum<10)
{
System.out.println(sum);
}
else
{
int s=sum,m=0;
m+=s%10;
s=s/10;
sum=m+s;
System.out.println(sum);
}
}
}
我自己写了一个,仅供参考下!呵呵


[url]www.[/url]欢迎大家的光临,一起交流学习
2007-05-20 12:59
syuanq
Rank: 2
等 级:新手上路
威 望:3
帖 子:297
专家分:0
注 册:2006-12-11
收藏
得分:0 
欢迎大家提出修改意见!

[url]www.[/url]欢迎大家的光临,一起交流学习
2007-05-20 13:01
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
随便写个:

public class Sum{
public static int sum(int num){
if(num<10) return num;
int s =0;
for(;num>0;num/=10) s += num%10;
return sum(s);
}
public static void main(String[] args){
System.out.println(sum(123456));
}
}

My BlogClick Me
2007-05-20 15:22
prayer
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-5-13
收藏
得分:0 
Eastsun 果然是高手!!!!!!

2007-05-20 16:03
syuanq
Rank: 2
等 级:新手上路
威 望:3
帖 子:297
专家分:0
注 册:2006-12-11
收藏
得分:0 

程序代码:


public class Sum{
public static int sum(int num){
if(num<10) return num;
int s =0;
for(;num>0;num/=10) s += num%10;
return sum(s);
}
public static void main(String[] args){
System.out.println(sum(123456));
}
}
呵呵。。。这个有极限哦!不能随意数哦


[url]www.[/url]欢迎大家的光临,一起交流学习
2007-05-20 17:47
快速回复:[求助]这个题目谁能给我点提示
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039408 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved