首页 > 代码库 > rwkj 1332 C语言实验四(函数):题目1、数字根

rwkj 1332 C语言实验四(函数):题目1、数字根

C语言实验四(函数):题目1、数字根

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:305            测试通过:185

描述

 

      正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数。例如12,那么它的数字根就为1+2=3;例如39那么它的数字根就为3+9=12,1+2=3,最终为3。

 

 

输入

 

     每行输入一个正整数,输入0表示结束。

 

 

输出

 

      输出一个一位数。

 

 

样例输入

24
39
0

样例输出

6
3

 

 

 

#include <stdio.h>int f(int x){    int s=0;    while (x)    {    s=s+x%10; x=x/10; }    return s;}int main(){       int x;    while( scanf("%d",&x)==1 && x)    {           while (x>10)           x=f(x);        printf("%d\n", x);    }    return 0;}
View Code

 

 

#include <stdio.h>
int f(int x)
{
    int s=0;
    while (x)
    {    s=s+x%10; x=x/10; }
    return s;
}
int main()
{   
    int x;
    while( scanf("%d",&x)==1 && x)
    {   
        while (x>10)
           x=f(x);
        printf("%d\n", x);
    }
    return 0;
}

 

 

 

 

 

#include<stdio.h>int main(){    int a=0,n;    while(scanf("%d",&n)!=EOF)    {        while(n>9)        {            if(n>9)            {                a=n%10;                n/=10;                n+=a;            }        }            if(n==0)                printf("");            else                printf("%d\n",n);            }}     
View Code

 

 

#include<stdio.h>
int main()
{
    int a=0,n;
    while(scanf("%d",&n)!=EOF)
    {
        while(n>9)
        {
            if(n>9)
            {
                a=n%10;
                n/=10;
                n+=a;
            }
        }
            if(n==0)
                printf("");
            else
                printf("%d\n",n);
       
    }
}

   

 

 

 

 

 

 

 

 

#include <iostream>using namespace std;int f(int x){    int s=0;    while (x)    {        s=s+x%10;        x=x/10;    }    if (s>9)    return f(s);    else return s;} int main(int argc, char *argv[]){    int x,y;    while (cin>>x)    {if(x==0)  ;    else cout<<f(x)<<endl;    }}   
View Code

 

 

#include <iostream>
using namespace std;
int f(int x)
{
    int s=0;
    while (x)
    {
        s=s+x%10;
        x=x/10;
    }
    if (s>9)    return f(s);
    else return s;

}

 


int main(int argc, char *argv[])
{
    int x,y;
    while (cin>>x)
    {if(x==0)  ;
    else cout<<f(x)<<endl;
    }

}