今天我有朋友让我做一下他们华中科技大学的MOOC的题目,我就勉为其难的帮他做了一下。
在开头先声明一下,题目的答案不唯一,并且我的也不是在计算机效率上的最优答案。
首先我们来看一看他们的题目是什么?
对于一个正整数n,我们将它的各个位相加,得到一个新的数字,如果这个数是一位数,我们称之为n的数根,
否则重复处理,直到它成为一个一位数,这个一位数就是n的数根。
一位数的数根为0
例如:24,2+4=6,6是24的数根
398,3+9+8=20,2+0=2,2是398的数根
#include
#include
int main()
{
int num; //定义用户将要输入的数。
do
{
std::cout << "请输入您需要求的数: ";
std::cin >> num; //接受用户输入。
}while( num < 0 ); //过滤掉用户的不正确输入。
if( num < 10 ) //确定用户输入为个位数的特殊情况。
{
std::cout << "数根是:0" << std::endl;
system("pause"); //使程序暂停,有利于观察。
return 0; //退出程序。
}
int sum = 0;
LOOP1:
while( num > 0 )
{
sum = sum + num % 10; //提取出num的个位将其加到sum中。
num = num / 10; //将num的个位去掉变成一个新的数。
}
if( sum > 9 ) //判断经过上面的操作后,得到的sum是否为个位数,若不是个位数将继续执行上面的操作。
{
num = sum;
sum = 0;
goto LOOP1; //跳字上方loop1处。
}
std::cout << "他的数根是:" << sum << std::endl;
system("pause");
return 0;
}
计算sum = 2/1 + 3/2+…+(n+1)/n
//计算sum = 2/1 + 3/2+…+(n+1)/n
#include
int main()
{
int n; //定义用户即将输入的数。
do
{
std::cout << "n = ";
std::cin >> n; //接受用户输入。
}while( n <= 0 );
double sum = 0; //定义最终答案变量
double i; //定义一个双精度型的i变量,用于后面的计算。(若将double改为int的话,会发生不堪设想的后果。)
for( i = 1 ; i <= n ; i++ )
{
sum = sum + ( i + 1 ) / i; //加
}
std::cout << "total=" << sum << std::endl; //输出结果
return 0;
}
这道题个人的感觉是太简单了。毕竟作者本人以前做过这种类似的题。
题目内容:编程计算s=a+aa+aaa+…+aaa…a(n个a),a的取值为0~9,n的取值为0~5,a和n由键盘输入
例如:a=1,n=3,则s=1+11+111=123
/*
题目内容:编程计算s=a+aa+aaa+…+aaa…a(n个a),a的取值为0~9,n的取值为0~5,a和n由键盘输入
例如:a=1,n=3,则s=1+11+111=123
*/
#include
#include
int main()
{
int n , a; //定义 n 和 a
do
{
std::cout << "n = " ;
std::cin >> n; //接收用户输入。
}while( n < 0 || n > 5 ); //该循环用于避免使用者的非法输入。
do
{
std::cout << "a = " ;
std::cin >> a; //接收用户输入。
}while( a <= 0 || a > 9 ); //该循环用于避免使用者的非法输入。
int sum = 0 , i , j , temp ; //Temp表示一个数。例如111、77、55555。
for( i = 1 ; i <= n ; i++ )
{
j = i;
for( temp = 0 ; j ; j-- )
{
temp = temp + a * pow( 10 , j - 1 ); //计算temp的值。
}
sum = sum + temp; //将每次计算出的temp的值加入到sum变量中。
}
std::cout << "total = " << sum << std::endl; //输出结果。
return 0;
}
这道题略为花费了本人一定的脑空间量。不过也都还好啦。> ^ _ ^ <
Last but not least,
1.编程的实力是通过不断的实践,不断的积累经验,从而达到的效果。
2.希望各位老爷子们高抬贵手,给宝宝点个赞。