129개의 풀이가 있습니다.
1 import sys
2 import numpy
3
4 list = [int(x) for x in raw_input().split(', ')]
5 result = [ str(numpy.prod(list[:i]+list[i+1:])) for i in xrange(len(list)) ]
6 print (', ').join(result)
python 2.7.5
val arr = Array(2, 6, 4, 7)
//풀이 1
// val product = arr.product
// println(arr.map(product/_).toList)
//풀이 2
val ans = Array.fill(arr.length)(0)
for(i <- 0 until arr.length){
var product = 1
for(j <- 0 until arr.length){
if(i != j) product *= arr(j)
}
ans(i) = product
}
println(ans.toList)
//풀이 3
val set = Set("a", "b", "c", "d")
val ans2 = Array.fill(set.size)("")
var idx = 0
for(i <- set){
ans2(idx) = set.diff(Set(i)).mkString("")
idx += 1
}
println(ans2.toList)
Swift입니다.
func getNumbers(_ numbers: [Int]) {
print (numbers.map({(item:Int) -> Int in
var excludedSelf = false
return numbers.reduce(1, {
if $1 != item || excludedSelf != false{
return $0 * $1
}
excludedSelf = true
return $0
})
}))
}
getNumbers([2,6,4,7])
getNumbers([2,2,4,4])
getNumbers([2,6,4,0])
getNumbers([0,6,4,0])
결과는...
[168, 56, 84, 48]
[32, 32, 16, 16]
[0, 0, 0, 48]
[0, 0, 0, 0]
Ruby
mul_cases = ->arr { arr.combination(arr.size-1).map {|nums| nums.reduce:* } }
Test
expect( mul_cases[ [2, 6, 4, 7] ] ).to eq [48, 84, 56, 168]
input=[2,6,4,7]
output=[]
for i in range(len(input)):
mul=1
for j in range(len(input)):
if j == i: continue
mul=mul*input[j]
output.append(mul)
print(output)
import java.util.Scanner;
public class cal{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int []arr = new int[4];
for(int i=0;i<4;i++)
arr[i] = sc.nextInt();
for(int i=0;i<4;i++){
int sum = 1;
for(int j=0;j<4;j++){
if(i != j)
sum *= arr[j];
}
System.out.print(sum + " ");
}
}
}
class ScalaQ2(inList: List[Long]) {
def multiplyList: List[Long] = {
val subList: List[List[Long]] = subset(inList, inList.size - 1)
subList.map(list => list.foldLeft(1L)(_ * _))
}
def subset[T](inList: List[T], size: Int): List[List[T]] = allsubsets(inList).filter(_.size == size)
def allsubsets[T](inList: List[T]) = inList.toSet[T].subsets.map(_.toList).toList
}
object ScalaQ2 {
def main(args: Array[String]): Unit = {
val q2 = new ScalaQ2(List(2, 6, 4, 7))
println(q2.multiplyList)
}
}
i1 = input()
i1 = i1.split(',')
i2 = []
for number in i1:
i2.append(int(number))
a,b,c,d = i2
print(b*c*d,a*c*d,a*b*d,a*b*c,sep = ', ')
파이썬3입니다. 배열 길이에 상관없이 처리합니다.
from fuctools import reduce
product = lambda xs: reduce(lambda x, y:x*y, xs, 1)
xs = [int(x) for x in input().split(', ')]
result = [product(ys) for ys in (xs[:i] + xs[i+1:] for i in range(len(xs)))]
print(', '.join(str(x) for x in result)
def gopsem(lis):
anslis = list()
for k in range (len(lis)):
ele = lis[-1]
lis.pop()
ans = 1
for num in lis:
ans *= num
anslis.append(ans)
lis.insert(0,ele)
return anslis
python input,output은 리스트 형식으로. 4개 이상의 원소에 대해서도 대처 가능.
#include<iostream>
using namespace std;
int main()
{
int in_arr[4];
int out_arr[4];
int mutiply = 1;
for (int i = 0; i < 4; i++)
{
cin >> in_arr[i];
}
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if (i == j)
continue;
else
mutiply *= in_arr[j];
}
out_arr[i] = mutiply;
mutiply = 1;
}
for (int i = 0; i < 4; i++)
{
cout << out_arr[i] << " ";
}
}
#include <iostream>
using namespace std;
//a,b,c,d
//bcd,acd,abd,abc
class test
{
private:
int number[4];
int result[4];
public:
test() {};
void Input();
void operation();
void display();
};
int main()
{
test t1;
t1.Input();
t1.operation();
t1.display();
return 0;
}
void test::Input()
{
for (int i = 0; i < 4; i++)
{
result[i] = 1;
cout << "숫자를 입력하세요:" << endl;
cin >> number[i];
}
}
void test::operation()
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if (i == j)
continue;
result[i] *= number[j];
}
}
}
void test::display()
{
for (int i = 0; i < 4; i++)
{
cout << result[i] << endl;
}
}
abcd=[]
a=int(input('a:'))
abcd.append(a)
b=int(input('b:'))
abcd.append(b)
c=int(input('c:'))
abcd.append(c)
d=int(input('d:'))
abcd.append(d)
qwer=[a*b*c,b*c*d,a*b*d,a*c*d]
qwer.sort(reverse=True)
print(qwer)
def main():
input_list = [2, 6, 4, 7]
size = len(input_list)
result = []
for num in input_list:
tmp = 1
for i in range(size):
if num == input_list[i]:
pass
else:
tmp *= input_list[i]
result.append(tmp)
print(result)
if __name__ == '__main__':
main()
def solution(t):
ans=[]
for i in range(len(t)):
tmp=t.copy()
tmp.pop(i)
tmp = [str(num) for num in tmp]
tmp="*".join(tmp)
ans.append(eval(tmp))
return(ans)
배열 길이에 관계없이 짜봣습니다.
a = [1, 2, 3, 4]
b = []
for j in range(len(a)):
p = 1
for i in a:
if i != a[j]: p *= i
b.append(p)
print(b)
Python
import itertools
test = [2, 6, 4, 7]
test = map(str, test)
for v in itertools.combinations(test, 3):
ans = 1
for i in map(int, v):
ans *= i
print(ans)
C언어 입니다
int main(void) { int num[4], i , m, n , sum;
printf("배열에 입력할 값을 입력 하세요 : ");
for(i = 0; i < 4; i++) {
scanf("%d", &num[i]);
}
for(m = 0; m < 4; m++) {
sum = 1;
for(n = 0; n < 4; n++) {
if(num[m] == num[n]);
else {
sum *= num[n];
}
}
printf("%d ", sum);
}
return 0;
}
from functools import reduce
n = [float(x) for x in input().split()]
print([reduce(lambda x,y:x*y, [j for j in n[:i]] + [j for j in n[i+1:]]) for i in range(len(n))])
결과
2 6 4 7
[168.0, 56.0, 84.0, 48.0]
public void GetMultipleIOfElement(int a, int b, int c, int d)
{
int[] arr = new[] { a, b, c, d };
int answer1 = arr[0] * arr[1] * arr[2];
int answer2 = arr[0] * arr[1] * arr[3];
int answer3 = arr[0] * arr[2] * arr[3];
int answer4 = arr[1] * arr[2] * arr[3];
Console.WriteLine($"{answer1}, {answer2}, {answer3}, {answer4}");
}
JavaScript
for (key1 in arr) {
var m = 1;
for (key2 in arr) {
if (key1 != key2)
m *= arr[key2];
}
console.log(m);
}
using System;
using System.Collections.Generic;
namespace CD167
{
class Program
{
static void Main(string[] args)
{
var input = new List<double>() { 2, 6, 4, 7 };
MultiplyExceptMe(input);
}
static void MultiplyExceptMe(List<double> aList)
{
var result = new List<double>();
for (int idx = 0; idx < aList.Count; idx++)
{
var newList = new List<double>(aList); newList.RemoveAt(idx);
result.Add(MultiplyList(newList));
Console.Write($"{result[idx]} ");
}
Console.WriteLine();
}
static double MultiplyList(List<double> aList)
{
double result = 1;
aList.ForEach(element => result *= element);
return result;
}
}
}
def func(p):
temp=[0,0,0,0]
temp[0]=p[1]*p[2]*p[3]
temp[1]=p[0]*p[2]*p[3]
temp[2]=p[0]*p[1]*p[3]
temp[3]=p[0]*p[1]*p[2]
return(temp)
c언어
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *arr;
int i,j;
int re;
int count = 0;
arr = (int *)malloc(sizeof(int )*3);
printf("Ender를누르면 값이 저장됩니다. : ");
do
{
scanf("%d", &arr[count]);
count++;
if(count>3)
{
arr =(int *)realloc(arr, count *sizeof(int));
arr[count]++;
}
}
while(getc(stdin)==' ');
for(i=0; i<count; i++)
{
re = 1;
for(j=0; j<count; j++)
{
if(arr[i] == arr[j])
{
continue;
}
else
{
re *= arr[j];
}
}
printf("%d ", re);
}
return 0;
}
lists = [2,6,4,7]
result =[]
result.append((lists[1]*lists[2]*lists[3]))
result.append((lists[0]*lists[2]*lists[3]))
result.append((lists[0]*lists[1]*lists[3]))
result.append((lists[0]*lists[1]*lists[2]))
package test;
public class test {
public static void main(String[] args) {
int[] num = { 2, 6, 4, 7 };
for (int i = 0; i < num.length; i++) {
int sum = 1;
for (int j = 0; j < num.length; j++)
if (i != j)
sum *= num[j];
System.out.print(sum + " ");
}
}
}
int[] arr = { 2, 6, 4, 7 };
for (int i = 0; i < arr.length; i++) {
int sum = 1;
for (int j = 0; j < arr.length; j++) {
if (i != j) {
sum *= arr[j];
}
}
System.out.println(sum);
}
}
import java.util.Arrays;
public class TEST11 {
public static void main(String[] args) throws Exception {
int[] data = {2,6,4,7, 10};
long[] value = new long[data.length];
for (int i = 0; i < data.length; i++) {
value[i] = multiple(data, i);
}
System.out.println(Arrays.toString(value));
}
public static long multiple(int[] data, int pos) {
int size = data.length;
long retValue = 1L;
int[] temp = new int[size - 1];
/** New data except current position data **/
int idx = 0;
for (int i = 0; i < data.length; i++) {
if (i != pos) {
temp[idx++] = data[i];
}
}
/** Multiple all data **/
for (int i = 0; i < temp.length; i++) {
retValue *= temp[i];
}
return retValue;
}
}
'''
배열 [a, b, c, d]를 입력하면 배열[bcd, acd, abd, abc]를 출력하는 코드를 작성하시오.
(단, 나눗셈 사용 금지)
입출력되는 배열은 어떤 형식이든 상관없습니다.
입력 예시
2, 6, 4, 7
출력 예시
168, 56, 84, 48
'''
def multiply(input):
output=[]
for x in range(len(input)):
multiply_total = 1
for y in range(len(input)):
if x!=y:
multiply_total *= input[y]
output.append(multiply_total)
return output
assert multiply([2, 6, 4, 7]) == [168, 56, 84, 48]
assert multiply([2, 2, 2, 2]) == [8, 8, 8, 8]
assert multiply([2, 3, 4]) == [12, 8, 6]
input_str = input("Input numbers : ")
input_list = [int(x) for x in input_str.split()]
output_list = multiply(input_list)
print(output_list)
user_input = list(map(int,input().split(" ")))
# print(list(user_input))
l1 = []
for i in range(len(user_input)):
sum = 1
for j in range(len(user_input)):
if i == j: pass
else:
sum *= user_input[j]
l1.append(sum)
print(l1)
Input: 2 6 4 7
[168, 56, 84, 48]
import java.util.Scanner;
class CodingDojang_GobsemWithoutMe{
//4개의 숫자를 입력받아 자기빼고 곱하는 프로그램
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int arr[] = new int[4];
int tot;
for (int i=0;i<arr.length;i++) {
System.out.print("정수를 입력하세요 : ");
arr[i] = input.nextInt();
}
for (int i=0;i<arr.length;i++) {
tot = 1;
for (int j=0;j<arr.length;j++) {
if(arr[j]!=arr[i]){
tot*=arr[j];
}
}
System.out.print(tot+" ");
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
int d = scan.nextInt();
System.out.println((b*c*d)+", "+(a*d*c)+", "+(a*b*d)+", "+(a*b*c));
}
}
def exclude_multiple(a):
b = []
for i in a:
m = 1
for j in a:
if j == i:
continue
m *= j
b.append(m)
return b
public class Bae {
public static void main(String[] args) {
int a = (int) (Integer.parseInt(args[0]));
int b = (int) (Integer.parseInt(args[1]));
int c = (int) (Integer.parseInt(args[2]));
int d = (int) (Integer.parseInt(args[3]));
System.out.println("배열은 " + b * c * d + "," + a * c * d + "," + a * b * d + "," + a * b * c + "입니다");
}
}
import itertools, functools
x = list(map(list, itertools.combinations((input().split(',')), 3)))
print([functools.reduce(lambda x,y: int(x)*int(y), i) for i in x])
Java 8
import java.time.Duration;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class tut05 {
public static void main(String[] args) {
System.out.println("hello world");
// input 과 output 을 선언.
List<Integer> list = Arrays.asList(2, 6, 4, 7);
List<Integer> result = new ArrayList<>();
System.out.println("input : " + list);
// 시작시간
LocalTime startTime = LocalTime.now();
// 자신을 제외하면서 곱을 구한다.
for (int i = 0; i < list.size(); i++) {
List<Integer> tmp = new ArrayList<>(list);
tmp.remove(i);
result.add(tmp.stream().reduce((a,b) -> a * b).get());
}
// 종료시간
LocalTime endTime = LocalTime.now();
// 결과.
System.out.println("결과 : " + result);
// 소요시간.
Duration duration = Duration.between(startTime, endTime);
System.out.println("소요시간 : " + duration.getSeconds());
}
}
#include<stdio.h>
int main(void)
{
int a[5] = { 10,20,30,40,50};
int i,j;
int cnt = 1;
for (i = 0; i<sizeof(a)/sizeof(a[1]); i++)
{
for (j = 0; j < sizeof(a) / sizeof(a[1]); j++)
{
if (a[i] != a[j])
cnt = cnt * a[j];
}
printf("%d ", cnt);
cnt = 1;
}
return;
}
namespace codingdojang__
{
class Program
{
static void Main(string[] args)
{
string[] input = Console.ReadLine().Split(',');
int total = 1;
for (int i = 0; i < input.Length; i++)
{
foreach (var e in input)
{
if (e == input[i])
{
continue;
}
else
{
total *= int.Parse(e);
}
}
Console.WriteLine(total);
total = 1;
}
}
}
}
clear
clc
n=input('수 배열 입력: ');
for i=1:length(n)%배열의 길이 까지
j=1;
m(i)=1;
while true
if j==i
j=j+1;
else
m(i)=n(j)*m(i);
j=j+1;
end
if j==length(n)+1
break
end
end
end
disp(m);
a = int(input("숫자를 입력해 주세요 : "))
b = int(input("숫자를 입력해 주세요 : "))
c = int(input("숫자를 입력해 주세요 : "))
d = int(input("숫자를 입력해 주세요 : "))
list = [a, b, c, d]
print(list)
print("")
print("결과")
result = [b*c*d, a*c*d, a*b*d, a*b*c]
print(result)
num_str=input("숫자를 입력하시오:")
num_arr=list(num_str.split(', '))
mul_arr=[]
for x in range(0,len(num_arr)):
num_arr[x]=int(num_arr[x])
for x in range(0,len(num_arr)):
multi=1
for k in range(0,len(num_arr)):
if x==k:
continue
else:
multi*=num_arr[k]
mul_arr.append(multi)
print(mul_arr)
numset = list(map(int,input().split(', ')))
def me_exclude(numset):
result = []
mul = 1
for i in range(len(numset)):
for j in range(len(numset)):
if i == j:
continue
else:
mul *= numset[j]
result.append(mul)
mul = 1
return result
print(me_exclude(numset))
function multi(arr){
const result = []
for( let i = 0; i<arr.length; i++){
let multi = 1
for(let j = 0; j<arr.length; j++){
if( arr[i] !== arr[j]){
multi *= arr[j]
}
}
result.push(multi)
}
return result
}
multi([2, 6, 4, 7])
def multi(a,b,c,d):
A = b * c * d
B = a * c * d
C = a * b * d
D = a * b * c
print(A, B, C, D)
multi(1,2,3,4)
파이썬입니다
static void Main(string[] args)
{
Console.WriteLine("*** 코딩도장 Q167 ***");
int[] cal = new int[4];
int tmp = 1;
// 4개 수 입력 받고 배열저장
int[] userInput = new int[4];
for (int i = 0; i < userInput.Length; i++)
{
Console.Write("{0} 번째 숫자를 입력하세요 {0} / 4 : ", i+1);
userInput[i] = int.Parse(Console.ReadLine());
}
// 각 배열에서 자기 인덱스 빼고 곱셈
for (int j = 0; j < userInput.Length; j++)
{
tmp = 1;
for (int k = 0; k < userInput.Length; k++)
{
if (j!=k)
{
tmp = tmp * userInput[k];
}
}
cal[j] = tmp;
}
// 정답출력
string ans = string.Join(", ", cal);
Console.WriteLine(ans);
}
#include <stdio.h>
#include <iostream>
using namespace std;
void main() {
int n[4] = { 0, };
int result[4] = { 0, };
printf("숫자 4개를 입력하세요 : ");
for (int i = 0; i < 4; i++)
{
scanf(" %d", &n[i]);
}
result[0] = n[1] * n[2] * n[3];
result[1] = n[0] * n[2] * n[3];
result[2] = n[0] * n[1] * n[3];
result[3] = n[0] * n[1] * n[2];
for (int i = 0; i < 4; i++)
{
printf(" %d ", result[i]);
}
}
List= list(map(int,input().split()));ans=[]
for i in range(len(List)):
add=1
for j in range(len(List)):
if j==i:
continue
add*=List[j]
ans.append(add)
print(ans)
아무생각 없이 모든 요소들의 곱을 각 요소들로 나눈 값으로 이루어진 리스트를 반환하려 했다가 다시 문제를 잘 읽어보니 나눗셈 금지.... 역시 한국말은 끝까지 들어야지만 하는가 봅니다^^;;
def f(L):
T = []
for i in range(len(L)):
prd = 1
for j in range(len(L)):
if i != j:
prd *= L[j]
T.append(prd)
print(T)
a=[5,7,9,20]
b=[]
for i in range(4):
b.append(1)
for j in range(4):
if i != j : b[i]=b[i]*a[j]
print(b)
def mul():
arr = list(map(int, input('>>>').split(',')))
lis = []
for n in arr:
ml=1
for i in arr:
if n != i: ml*=i
lis.append(ml)
print(lis)
어떻게 줄일 방법 없을까,,?
a = [2, 6, 4, 7]
result= []
for i in range(len(a)):
b=a.copy()
b.remove(b[i])
m=1
for i in b:
m *= i
result.append(m)
print(result)
in1 = list(map(int, input('입력:').split(' ')))
mul = 1
result = []
for i in range(len(in1)):
in2 = in1.copy()
del in2[i]
for j in in2:
mul = j * mul
result.append(mul)
mul = 1
print(*result)
파이썬 3.7 사용.
input_list=[2,6,4,7] #입력값
result=[]
for i, _ in enumerate(input_list):
multiple=1
for j,v in enumerate(input_list):
if j!=i:
multiple*=v
result.append(multiple)
print(result) #출력
L = [int(x) for x in input('Enter 4 numbers : ').split()]
result = []; mul = 1
for i in range(len(L)) :
for j in range(len(L)) :
if i == j : continue
mul *= L[j]
result.append(mul)
mul = 1
print(result)
def solution(array):
t = []
for i in range(len(array)):
t.append(array[:i] + array[i+1:])
result = []
for i in range(len(t)):
r1 = 1; r2 =""
for j in range(len(t[i])):
if type(t[i][j]) == int:
r1 *= t[i][j]
else:
r2 += t[i][j]
if r1 == 1:
result.append(r2)
else:
result.append(str(r1)+r2)
return result
print(solution(["a","b","c","d"]))
print(solution([2,4,6,7]))
print(solution([2,"a",3,"c"]))
print(solution([2,"a",3,"^"]))
Python 3.7
a=[2,6,4,7]
def mult_other(num_list):
b =[1 for i in range(len(num_list))]
for i in range(len(a)):
for x in a[:i]+a[i+1:]:
b[i]*= x
return b
print(mult_other(a))
a,b,c,d=(int(input("원소1")),int(input("원소2")),int(input("원소3")),int(input("원소4")))
e=[b*c*d,a*c*d,a*b*d,a*b*c]
print(e)
list_0 = list(map(int, input().split(' ')))
print(list_0[1]*list_0[2]*list_0[3])
print(list_0[0]*list_0[2]*list_0[3])
print(list_0[0]*list_0[1]*list_0[3])
print(list_0[0]*list_0[1]*list_0[2])
def List_mul(data):
t_value =tuple(data)
for i in range(len(data)):
sum1 = 1
data = list(t_value)
data.pop(i)
print(data)
for j in data:
sum1 *= j
print(sum1)
List_mul([2,4,7,1])
Python 3.* 하드코딩
# exclude myself
a, b, c, d = map(int, input("Input 4 numbers(ex. 1, 3, 5, 7) :").split(', '))
print(b*c*d, a*c*d, a*b*d, a*b*c)
import java.util.*;
public class 자신을제외한곱셈 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] nums = scan.nextLine().split(", ");
int[] num = Arrays.asList(nums).stream().mapToInt(Integer::parseInt).toArray();
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i = 0; i<num.length; i++) {
int a = 1;
for(int j = 0; j<num.length; j++) {
if(num[i]!=num[j]) {
a=a*num[j];
}
}
list.add(a);
}
System.out.println(list);
}
//주의!! 입력할 때 ", "처럼 컴마 뒤 공백을 해주어야한다.
}
파이썬
# 최종 정리한 코드
from itertools import combinations
import numpy as np
list(map(lambda x:np.cumprod(x)[-1],list(combinations([2,6,4,7], 3))))
# cumpod(x)는 누적곱이고
# 리스트 형태로 반환되고 맨 마지막 요소가 리스트의 요소 전체의 곱이므로
# np.cumprod(x)[-1] 형태로 [-1]을 붙였다.
# list(combinations([2,6,4,7], 3)는 리스트 형태로 반환되고 구성 요소는
# combinations() 함수에 의해 튜플 형태로 조합된 결과가 반환된다.
def exclude(mylist):
new_list = []
for i in range(len(mylist)):
result = 1
for j in range(len(mylist)):
if i == j:
pass
else:
result *= mylist[j]
new_list.append(result)
return new_list
print(exclude([2,6,4,7]))
int *multiArray(int n[])
{
int result[4] = {0,0,0,0};
//배열 [a, b, c, d]를 입력하면 배열[bcd, acd, abd, abc]를 출력하는 코드를 작성하시오.
result[0] = n[1]*n[2]*n[3];
result[1] = n[0]*n[2]*n[3];
result[2] = n[0]*n[1]*n[3];
result[3] = n[0]*n[1]*n[2];
return result;
}
l=list(map(int,input("콤마(,)를 포함한 연속된 숫자를 입력하십시오: ").split(","))) #ex) 2,4,6,7
lst=[] #빈 리스트 생성
lst2=[0,1,2,3] #인덱스를 받기 위한 리스트
for k1 in lst2:
for k2 in lst2:
if k2==k1: #중복을 고려하지 않는 조합을 하기 위함 ex)aaa, abb, acc, bbb 등
continue
for k3 in lst2:
if k3==k2 or k3==k1: #중복을 고려하지 않는 조합을 하기 위함 ex)aaa, abb, acc, bbb 등
continue
nk=l[k1]*l[k2]*l[k3]
if nk not in lst: #계산 결과가 새로나온 숫자일 경우 리스트에 넣음
lst.append(nk)
print(lst)
파이썬 3입니다
간단하게 코드를 짜 보았습니다.
x = list(map(int, input().split(',')))
temp = []
for i in range(len(x)):
val = 1
for j in range(len(x)):
if j == i:
continue
val *= x[j]
temp.append(val)
i = 0
while True:
if i == len(x) - 1:
print(temp[i])
break
print(temp[i], ',', sep='', end=' ')
i += 1
Nlist = list(map(int,input().split(',')))
Nfinish = list()
Nfinish.append(Nlist[1]*Nlist[2]*Nlist[3])
Nfinish.append(Nlist[0]*Nlist[2]*Nlist[3])
Nfinish.append(Nlist[0]*Nlist[1]*Nlist[3])
Nfinish.append(Nlist[0]*Nlist[1]*Nlist[2])
print(Nfinish)
a, b, c, d = int(input('네 개의 숫자를 입력하세요: '))
list = [a, b, c, d]
num1 = b * c * d
num2 = a * c * d
num3 = a * b * d
num4 = a * b * c
list = [num1, num2, num3, num4]
print list
a=input("list:")
b = a.split(',')
for i in range(0,len(b)):
b.pop(i)
tmp = [str(num) for num in b]
tmp="*".join(tmp)
print(eval(tmp))
b= a.split(',')
a = input()
A = a.split() A = list(A)
result = [] for a in A: a = int(A[0]) b = int(A[1]) c = int(A[2]) d = int(A[3]) i = bcd j = acd k = abd l = abc result.append(i) result.append(j) result.append(k) result.append(l) break print(result)
초보자라서 멍청하게 했네요..
def exptme(l):
result=[]
for i in l:
l1=l[:]
l1.remove(i)
r=1
for j in l1:
r*=j
result.append(r)
return result
def mulexm(data):
data=tuple(data)
result=[]
for i in range(len(data)):
temp=list(data)
temp[i]=1
temp=list(map(lambda a:str(a), temp))
result.append(eval('*'.join(temp)))
return result
case = [2, 6, 4, 7]
def cal_multiple(li):
result = []
n = 0
while n < len(li):
cal = 1
for x in range(0, len(li)):
if x != n:
cal *= li[x]
result.append(cal)
n += 1
return result
if __name__ == "__main__":
print(cal_multiple(case))
s=input('숫자 네개 줘봐 ; ')
l=s.split()
l2=[]
for i in l:
mul=1
for j in l:
if i==j :pass
else:
mul=mul*int(j)
l2.append(mul)
print(l2)
list_a=[2,6,4,7]
A=list_a[1]*list_a[2]*list_a[3]
B=list_a[0]*list_a[2]*list_a[3]
C=list_a[0]*list_a[1]*list_a[3]
D=list_a[0]*list_a[1]*list_a[2]
print("{},{},{},{}".format(A,B,C,D))
파이썬으로 작성했습니다.
input_abc = input("배열 [a,b,c,d]에 들어갈 수를 입력하시오. (구분 , ) : ")
list_abc = list(map(int, input_abc.split(",")))
def multiply(list_abc):
ans = 1
for x in list_abc:
ans *= x
return ans
for x in range(0,4):
list_abc = list(map(int, input_abc.split(",")))
del(list_abc[x])
print(multiply(list_abc), end=" ")
from functools import reduce
def product_excluding_self(l):
product_list = []
for i in range(len(l)):
temp = l[i]
l[i] = 1
product_list.append(reduce(lambda a, b: a * b, l))
l[i] = temp
return product_list
a = int(input())
b = int(input())
c = int(input())
d = int(input())
x1 = b*c*d
x2 = a*c*d
x3 = a*b*d
x4 = a*b*c
print(x1,x2,x3,x4)
N=input("숫자를 입력하세요:").split(",")
List=list(map(int,N))
x=[]
for i in List:
k=1
for j in List:
if j==i:
pass
else:
k=k*j
x.append(str(k))
x.append(", ")
y=""
for i in x:
y=y+i
print("값은"+" "+y[0:-2])
import java.util.Arrays;
import java.util.Scanner;
public class Q166{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("input : ");
String[] input = scan.nextLine().split("");
int[] output = new int[input.length];
for(int i=0; i<input.length; i++) {
int temp = 1;
for(int j=0; j<input.length; j++) {
if(i!=j) {
temp *= Integer.parseInt(input[j]);
output[i] = temp;
}
}
}
System.out.println(Arrays.toString(output));
scan.close();
}
}
namespace _60일차_9월30일
{
class MainApp
{
static void Main(string[] args)
{
//배열 [a, b, c, d]를 입력하면 배열[bcd, acd, abd, abc]를 출력하는 코드를 작성하시오.
Console.Write("Input Number (Split Option : ',') : ");
string Input = Console.ReadLine();
string[] Data = Input.Split(',');
int[] Array = System.Array.ConvertAll<string, int>(Data, int.Parse);
List<int> Result = new List<int>();
Result.Add(Array[1] * Array[2] * Array[3]);
Result.Add(Array[0] * Array[2] * Array[3]);
Result.Add(Array[0] * Array[1] * Array[3]);
Result.Add(Array[0] * Array[1] * Array[2]);
foreach (int Temp in Result)
Console.Write($"{Temp} ");
}
}
}
from itertools import combinations
class ProcessNumber:
def __init__(self):
self.result = []
def getMult(self,data):
l = list(combinations(data,3))
for i in l:
rrr = 1
for j in i:
rrr *= j
self.result.append(rrr)
self.result.reverse()
print(self.result)
data = [2,6,4,7]
a = ProcessNumber()
a.getMult(data)
def mult(temp):
temp1 = []
for i in range(len(temp)):
mult = 1
for j in range(len(temp)):
if i == j :
continue
else:
mult = mult*temp[j]
temp1.append(mult)
return temp1
print(mult([2,6,4,7]))
a=input("write 4 number [a,b,c,d] :")
b=a.split(",")
def multiply(a):
total=1
for i in a:
total=total*int(i)
for_answer=[]
for i in a:
for_answer.append(int(total)/int(i))
print(for_answer)
multiply(b)
def multiply(x):
import numpy as np
from functools import reduce
array = np.array(x)
result = [reduce(lambda x,y:x*y,np.delete(x,i)) for i in range(len(x))]
return result
list1= list(map(int,input().split(",")))
list2=[]
for i in range(len(list1)):
re=1
num=list1[i]
for k in range(len(list1)):
if list1[k] != num:
re*=list1[k]
list2.append(re)
print(list2)
>>> def multiply(a, b, c, d):
... return [b * c * d, a * c * d, a * b * d, a * b * c]
...
>>> multiply(2, 6, 4, 7)
[168, 56, 84, 48]
a = []
while True:
b = input('숫자를 입력하세요:(모두 입력하였을 경우 end 입력)')
if b == 'end':
break
a.append(int(b))
list = []
for i in a:
num = 1
for j in a:
if i != j:
num *= j
list.append(num)
print(list)
숫자를 원하는 만큼 입력받아 리스트를 만들고 그 숫자들로 위의 프로그램을 짠 코드입니다.
/* 배열 [a, b, c, d]를 입력하면 배열[bcd, acd, abd, abc]를 출력하는 코드를 작성하시오. */
const multiple = ([a, b, c, d]) => {
return [b * c * d, a * c * d, a * b * d, a * b * c]
}
const inputArray = [2, 6, 4, 7]
console.log(multiple(inputArray))
def main():
result = []
A = input('a b c d ...: ').split(' ')
for i in range(len(A)):
A[i] = int(A[i])
for i in range(len(A)):
sum = 1
for j in range(len(A)):
if i == j:
pass
else:
sum *= A[j]
result.append(sum)
print(result)
if __name__ == '__main__':
main()
lst = map(int, input("입력: ").strip(' ').split(","))
(a, b, c, d) = list(lst)
output = [b*c*d, a*c*d, a*b*d, a*b*c]
print(output)
a = input().split(" ")
for i in range(len(a)):
if a[i].isdigit() == True:
print(int(a[1]) * int(a[2]) * int(a[3]),end=' ')
print(int(a[0]) * int(a[2]) * int(a[3]),end=' ')
print(int(a[0]) * int(a[1]) * int(a[3]),end=' ')
print(int(a[0]) * int(a[1]) * int(a[2]))
break
else:
print(a[1] + a[2] + a[3], end=' ')
print(a[0] + a[2] + a[3], end=' ')
print(a[0] + a[1] + a[3], end=' ')
print(a[0] + a[1] + a[2])
break
x=input('배열 입력')
xlist=list(map(int, x.split(', ')))
process=list(map(int, x.split(', ')))
result=[]
print(xlist)
for i in xlist:
process.remove(i)
mul=1
for n in process:
mul = mul * n
result.append(mul)
process=list(map(int, x.split(', ')))
print(result)
n = list(map(int, input().split()))
result_list = []
for i in range(len(n)):
result = 1
for j in range(len(n)):
if i != j:
result *= n[j]
result_list.append(result)
print(result_list)
def coode(a,b,c,d):
blank = []
blank.append(b*c*d)
blank.append(a*c*d)
blank.append(a*b*d)
blank.append(a*b*c)
return print(blank)
coode(2,6,4,7)
list_num = input('>>> ').split(', ')
ans = []
for i in range(4):
A = list_num.copy()
del A[i]
ans.append(eval('*'.join(A)))
ans
#파이선입니다.
from copy import *
def 문자열_출력하기():
list1=list(input("문자열 출력기"))
list2=[]
string1=''.join(list1)
for i in range(0, len(list1)):
list3=copy(list1)
list3.remove(string1[i])
string2 = ''.join(list3)
list2.append(string2)
print(list2)
return list2
문자열_출력하기()
#codingdojing_mutipleWithoutMe
from functools import reduce
array = [2, 6, 4, 7]
result = []
for i in range(len(array)):
new = array[:i]+array[i+1:]
result.append(reduce(lambda x,y : x*y, new))
print(result)
파이썬 3.8.10 으로 작성되었습니다.
from itertools import combinations
from functools import reduce
arr = list(map(int, input().split()))
combis = list(combinations(arr, len(arr)-1))
result = []
for combi in combis:
result.append(reduce(lambda x, y: x * y, combi))
print(result)
def func(list):
new_list = []
for i in range(len(list)):
mul = 1
for j in range(len(list)):
if i == j:
pass
else:
mul *= list[j]
new_list.append(mul)
return print(new_list)
func([2, 6, 4, 7])
result = 1
for i in range(len(arr)):
result *= arr[i]
for j in range(len(arr)):
print(int(result/arr[j]))
static void multi(int...x) {
int[] num = new int[x.length];
for(int i = 0; i < x.length; i++) {
for(int j = 0; j < x.length; j++) {
if(num[i] == 0) {
num[i] = 1;
}
if(i != j)
num[i] *= x[j];
}
}
System.out.println(Arrays.toString(num));
}
public static void main(String[] args) {
multi(2,6,4,7);
}
arr =[]
result =[]
for i in range(4) :
a = int(input("입력하세요"))
arr.append(a)
result.append(arr[1]*arr[2]*arr[3])
result.append(arr[0]*arr[2]*arr[3])
result.append(arr[0]*arr[1]*arr[3])
result.append(arr[0]*arr[1]*arr[2])
print(result)
import re
numlist = re.findall(r'\d+', input('배열을 입력하시오: '))
result = []
for i in range(len(numlist)):
value = 1
for j, element in enumerate(numlist):
if i == j:
continue
else:
value *= int(element)
result.append(value)
print(result)
n = list(map(int,input('정수 네개를 입력하세요.').split()))
a=[]
for i in range(len(n)):
a.append(n[i-1]*n[i-2]*n[i-3])
print(a)
파이썬입니다
list1 = list(map(int, input().split(" "))) #입력 리스트
list2 = [] #출력 리스트
for i in range(0,4):
k=1
for l in range(0,4):
if l != i:
k *=list1[l]
list2.append(k) #출력 리스트에 항목 추가
print(list2)
package com.algorithm.algorithmpractice.dojang;
import java.util.Arrays;
public class MultiplyExcept {
public static void main(String[] args) {
int[] numArr = {1, 2, 3, 4, 5};
int[] resultArr = new int[5];
for(int i = 0; i < numArr.length; i++){
int temp = 1;
for(int j = 0; j < numArr.length; j++){
if(j == i){
continue;
}
temp *= numArr[j];
}
resultArr[i] = temp;
}
System.out.println(Arrays.toString(resultArr));
}
}
numbers = input('숫자 a b c d를 입력하시오. : ').split(' ')
a = int(numbers[0])
b = int(numbers[1])
c = int(numbers[2])
d = int(numbers[3])
print(b*c*d,a*c*d,a*b*d,a*b*c)
ui = list(map(int,input("배열에 들어갈 숫자 입력(콤마로 구분)>> ").split(',')))
result = []
for i in ui:
mul = 1
for j in ui:
if i != j: mul = mul*j
result.append(mul)
print(result)
파이썬 3.10
a = input("숫자를 입력하세요")
result = [eval(("*").join(a.replace(a[i],''))) for i in range(len(a))]
result
전체의 곱에 자신을 나누는게 가장 간단한데, 나눗셈을 사용하지 말라고해서 전부 문자로 바꾼 후 자기자신을 제거하고 곱했습니다.
Python. 리스트 내 요소들의 곱은 함수가 없어 헷갈리는군요.
input=[2,6,4,7]
result=[]
for i in range(len(input)):
temp=list(input) #입력된 수의 리스트를 복사
del temp[i] #'자기 자신'을 제외
ans=1 #요소의 곱을 위한 초기값 1 설정
for j in temp:
if j==0:
result.append(0) #요소 중 0이 있으면 그 곱셈의 답은 무조건 0이므로
ans*=j #0이 없을 경우 곱셈 반복
result.append(ans) #최종 정답 리스트에 추가
print(result)
결과는 [168, 56, 84, 48]
python3
from functools import reduce
numbers = input()
numlist = list(numbers.split(', '))
numlist = list(map(int, numlist))
outlist = []
for i in range(len(numlist)):
newlist = [x for x in numlist if x not in [numlist[i]]] #i번째 요소를 제외한 리스트
result = reduce(lambda x, y: x*y, newlist) #newlist 요소 모두를 곱하기
outlist.append(result)
print(outlist)
//자신을 제외한 곱셈
private static ArrayList<Integer> multiNum() {
ArrayList<Integer> arr = new ArrayList<>();
//결과반환
ArrayList<Integer> result = new ArrayList<>();
Scanner sc = new Scanner(System.in);
for(int i=1; i<=4; i++) {
System.out.println(i + "번째 양의 정수를 입력하세요");
arr.add(sc.nextInt());
}
for(int j=0; j<arr.size(); j++) {
//자신을 제외한 곱셈
ArrayList<Integer> threeNum = new ArrayList<>();
for(int k=0; k<arr.size(); k++) {
threeNum.add(arr.get(k));
}
threeNum.remove(j);
int multipleThreeNum = threeNum.get(0) * threeNum.get(1) * threeNum.get(2);
result.add(multipleThreeNum);
}
return result;
}
import copy
data = list(map(int, input("Enter:").split()))
mult = [];x = 1
for i in range(len(data)):
li = copy.deepcopy(data);x = 1
del li[i]
for j in range(len(li)):
x *= li[j]
mult.append(x)
print(mult)
lst_prob = list(map(int, input().split(', ')))
gop = 1
for n in lst_prob:
gop *= n
lst_res = []
for n in lst_prob:
lst_res.append(gop // n)
print(lst_res)
#include <stdio.h>
int main(void){
int a, b, c, d;
int x, y, z, k;
scanf("%d %d %d %d", &a, &b, &c, &d);
int arr[4] = {a, b, c, d};
x = b * c * d;
y = a * c * d;
z = a * b * d;
k = a * b * c;
printf("%d, %d, %d, %d\n", x, y, z, k);
return 0;
}