求數根的編程
『壹』 編寫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;
}