求数根的编程
‘壹’ 编写VB程序,实现如下功能:在文本框text1中输入一个正整数,单击“求数根”按钮command
PrivateSubCommand1_Click()
DimxAsInteger
x=Text1
Whilex>0
s=s+xMod10
x=x10
Ifx=0Ands>9Then
x=s
s=0
EndIf
Wend
Text2=s
EndSub
PrivateSubForm_Load()
Text1=""
Text2=""
Command1.Caption="求数根"
EndSub
‘贰’ 用C++语言编程,简单的,循环语句
#include<iostream>
using namespace std;
int NumRoot(int n) //求数根算法
{
int sum = 0; //n的各个数位之和为sum
while (n != 0) //循环对n取余即可分离各个数位
{
sum = sum + n%10;
n = n/10;
}
if (sum > 9) //如果sum为两位数,还要继续求数根
return NumRoot(sum);
return sum;
}
int main()
{
int n;
cout<<"输入一个整数:";
cin>>n;
cout<<n<<"的数根是:"<<NumRoot(n)<<endl;
}
‘叁’ C++数根求代码
#include<iostream>
usingnamespacestd;
intmain()
{
intN;
charnum[1010];//用一个字符串存储读入的整数,多开10位以防越界
intanswer=0;//答案,因为1000位数每位相加最大为9000,所以开一个int足够
cin>>N;
while(N--)
{
for(inti=0;i<1010;i++)//初始化num为0,注意是ASCII码的0,而不是数字0,用于判断字符串结尾,当然这只是保险起见,去掉这个初始化也是没有问题的
num[i]=0;
answer=0;
cin>>num;
// cout<<"num:"<<num<<endl;
for(inti=0;i<1010;i++)//第一次计算answer值
{
if(num[i]==0)//读完则退出
break;
answer+=(num[i]-'0');//注意减去‘0’,这是将ASCII码转成对应数字
}
// cout<<"answer:"<<answer<<endl;
while(answer<0||answer>9)//判断是否为1位数,不是则继续操作
{
inttmp=answer;
answer=0;
while(tmp>0)
{
answer+=tmp%10;//取出低位
tmp/=10;
}
}
cout<<answer<<endl;
}
system("pause");//VS调试暂停用,提交代码请删掉
return0;
}
‘肆’ C++编程题 求解程序 计算正整数的数字根
#include<iostream>
usingnamespacestd;
inlineboolgetv(int&);
inlinevoidgettv(int&);
intmain()
{
intnum=0;
while(cin>>num){
if(num==0)
continue;
gettv(num);
while(getv(num));
}
return0;
}
inlineboolgetv(int&num)
{
if(num/10==0){
cout<<num<<endl;
returnfalse;
}
else{
gettv(num);
returntrue;
}
}
inlinevoidgettv(int&num)
{
inttemp=0;
for(inti=10;(n%i)/(i/10)||n/i;i*=10)
temp+=(n%i)/(i/10);
num=temp;
}
//看看对不对
‘伍’ scratch求数根
计算模块([绝对值 v]( ))
下拉菜单找到平方根
‘陆’ C++高手进!高分悬赏!搞定给100分!要求十分钟内!
#include <iostream>
using namespace std;
int shugen(int n) {
int m = 0;
while (n) {
m += n % 10;
n /= 10;
}
if (m < 10)
return m;
else
return shugen(m);
}
int main() {
int n;
cout << "Please input a positive num: ";
cin >> n;
if (n > 0)
cout << shugen(n) << endl;
return 0;
}
‘柒’ c++这求数根的程序是什么意思。数根是把一个数的各位数加起来,直到这个数为一位。例如:49=4+9=13=1+3=4
数根(又称数字根Digital root)是自然数的一种性质,换句话说,每个自然数都有一个数根。
数根是将一正整数的各个位数相加(即横向相加),若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止,或是,将一数字重复做数字和,直到其值小于十为止,则所得的值为该数的数根。
这个程序就是计算一个数的数根。数根在数学里是一个有用的东西。例如:要求一个数除以3或9的余数,可以直接用其数根除以3或9得到;再如:有一种乘法验算的办法,就是用两个因数的数根相乘得到的积的数根与原来因数相乘的积的数根比较,如果不相等,则运算肯定不对。除法也有类似规律。
‘捌’ 用java语言计算N的数字根
用java8的stream处理起来,代码更简洁些
可以参考:
publicstaticvoidmain(String[]args){
Stringstr="1782";
while(str.length()!=1)
{
str=String.valueOf(Stream.of(str.split("")).mapToInt(Integer::valueOf).sum());
}
System.out.println(str);
}
中间那块函数含义也很简单
1. 先把这个字符分割成字符串数组
2. 字符串数组转化为对应stream
3. 把stream转化为IntStream
4. 直接用IntStream的sum方法求出和
5. 再把和转化为string,赋值给最开始的那个str
6. 然后判断str的长度是否为1,为1了就停止
‘玖’ 用c语言编程怎么求一个数的根号
#include<stdio.h>
#include<math.h>
intmain()
{
floata=5,b;
b=sqrt(a);
printf("a的平方根为:%f ",b);
return0;
}
‘拾’ 模拟问题,求树根,c语言
intGetNumberRoot(intnum)
{
if(num<10)
{
returnnum;
}
intiTmp=num;
intiRoot=0;
while(iTmp>0)
{
iRoot=iRoot+iTmp%10;
iTmp/=10;
}
returnGetNumberRoot(iRoot);
}
intmain()
{
intiRoot=GetNumberRoot(123456);
printf("root:%d ",iRoot);
return0;
}