
编程计算100至1000之间有多少个数其各位数字之和是5。
以python语言为例,示例程序如下:
#定义统计数
count = 0
#轮询100-999数字
for i in range(100, 1000):
#定义数字总数
sum = 0
for tem in str(i):
#累加各位数
sum = sum + int(tem)
if sum == 5:
#判断累加总数等于5则统计数加1
count = count + 1
print i
#输出统计数
print count
执行以上程序即可得到结果是15。
扩展资料
上述程序重点是range函数的使用,range() 函数可创建一个整数列表,一般用在 for 循环中。
Python中range()函数的用法如下:
函数原型:range(start, end, scan):
参数含义:
start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。
#include <iostream>
using namespace std;
int main()
{
int cnt=0;
for(int i=1;i<=5;i++)//百位
for(int j=0;j<=5-i;j++)//十位
cnt++;
cout<<cnt<<endl;
return 0;
}
int main(void)
{
int i,s,k,count=0;
for(i=100;i<=1000;i++)
{ s=0;k=i;
while(k)
{ s=s+k%10;
k=k/10;
}
if(s!=5) continue;
else count++;
}
printf("%d",count);
return 0;
}
#include <stdio.h>
int getSum(int num)
{
char buf[10];
int sum = 0;
int i = 0;
sprintf(buf,"%d",num);
while(buf[i])
sum += buf[i++] - '0';
return sum;
}
int main(void)
{
int i;
for(i = 100; i <= 1000; i++)
if(getSum(i) == 5)
printf("%d\t",i);
return 0;
}
void main()
{ int i,s,x;
for ( i=100;i<=1000;i++ )
{ x=i; s=0; while ( x ) { s+=x%10; x/=10; }
if ( s==5 ) printf("%d ",i);
}
}