java语言程式设计 输入一个正整数N,输出表达式1+1/2+1/3+.+1/N的值

如题所述

第1个回答  2022-11-03
java语言程式设计 输入一个正整数N,输出表达式1+1/2+1/3+...+1/N的值
package test;import java.util.Scanner;public class Express { public static void main(String[] args) { System.out.println("请输入n的值"); Scanner scan=new Scanner(System.in); int n=scan.nextInt(); System.out.print("输出的结果是:"); System.out.println(getResult(n)); } public static double getResult(int n){ double sum=0; for(double i=1.0;i<=n;i++){ sum=sum+1/i; } return sum; }}

c语言程式设计。。。解不等式 n < 1+1/2+1/3+…+1/m <n+1,正整数n从键盘输入,m也为正整数,范围待定

#include<stdio.h>void main() { int n, i = 1; int min_m =-1, max_m = -1; double sum = 0.0; scanf("%d",&n); while (1){ sum += 1.0/i; if((min_m == -1) && (sum >= (double)n)) { min_m = i; } if((max_m == -1) && (sum >= (double)(n+1))) { max_m = i -1; break; } ++i; } printf("%d<=m<=%d\n",min_m, max_m);}

raptor流程图程式设计:输入一个正整数n(1<=n<=50),计算并输出1 1/2 1/3 ..
DWORD WINAPI FunProc1(LPVOID lpParameter)
{
while(TRUE)
{
WaitForSingleObject(g_hEvent,INFINITE);
if(ticket>0)
{
Sleep(1);
cout<<"ticket 1:"<<ticket--<<endl;
}
else
break;
}

用Java程式设计 :输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 求高手指点

System.out.println("请输入你要!的数:");提示使用者输入 Scanner in = new Scanner(System.in); int n = in.nextInt();获得使用者输入的值 long res=1;因为数字可能会很大,所以使用long for(int i=1;i<n+1;i++){回圈获得乘积 res *= i; } System.out.println(res);列印结果

给你写了个程式可以实现,比如在主函式输入5,则输出表示5!(120)的阵列[0, 2, 1],其中0表示个位数,2表示十位数,1表示百位数,程式如下:
public static void factor(int n) { int[] product = {1}; 从1开始,回圈相乘,比如[1] * 2 -> [2] [2] * 3 -> [6] [6] * 4 -> [4, 2] for (int i = 1; i < n; i++) { product = helper(product, i + 1); } System.out.print(Arrays.toString(product));输出结果}public static int[] helper(int[] s, int m) {计算一个数组s乘以m的值,比如120 * 6的值,s为[0, 2, 1],m为6 int i, temp = 0; int[] result = new int[s.length + (s[s.length - 1] * m + "").length() - 1]; for (i = 0; i < s.length; i++) { result[i] = (s[i] * m + temp) % 10; if (s[i] * m + temp >= 10) temp = (s[i] * m + temp) / 10; else temp = 0; } if (temp != 0) { for (int j = 0; j < result.length - s.length; j++) { result[i + j] = temp % 10; if (temp >= 10) temp = temp / 10; else temp = 0; } } return result;}public static void main(String[] args) { factor(23);} 在该Java档案里要引入一个包:

import java.util.Arrays;
这个是为了输出结果的时候方便。

如果程式读不懂,有问题再追问。
从键盘输入一个正整数n,其中n为1—9之间的任意正整数,求出表示式1+22+333+4444+……+n的值
#include<conio.h>
#include<stdio.h>
#include<math.h>
main()
{
int i,n;
long j,k,sum=0;
printf("input the n:\n");
scanf("%d",&n); /*n为项数*/

for(i=1;i<=n;i++)
{
k=0;
for(j=i;j>0;j--)
k+=i*pow(10,j-1);
printf("%ld",k); /*列印输出情况*/
if(i!=n) printf("+");
else printf("=");
sum+=k;
}
printf("%ld\n",sum);
getch();
}
vb程式设计计算s的值,其中s=1+1/2+1/3+...+1/n,n为正整数,当i项(即1/i<=0.01时结束

Private Sub Command1_Click()Dim i As IntegerDim s As DoubleDoi = i + 1s = s + 1 / iLoop Until 1 / i <= 0.01Print sEnd Sub

输入一个正整数n,求1+1/2!+1/3!+……1/n!的值,要求定义并呼叫函式fact(n)计算n
#include <iostream.h>
using namespace std;
int fact (int n)递回求N的阶乘
{
if(n==0||n==1) return 1;
else return n * fact(n-1);
}
void main ()
{
int n;
double sum=0.0;
cin>>n;
while (n >= 0)
{
sum = sum + 1/(double(fact(n)));求1/n!的和,其中n!是整形数,必须强制转换为双精度实型
n--; 否则结果就会出错
}
cout << sum << endl; sum记录了求和结果,输出即可
} end
程式已经在c++ 6.0除错通过。可用
对任意正整数n,设计一个程式框图求s=1+1/2+1/3+...+1/n的值,并写出程式。
INPUT
S=1
I=1
DO
S=S+1/(I+1)
LOOP UNTIL I+1=N
大家正在搜