رفتن به مطلب

ترکیب n شئ از k شئ


shahab.es

ارسال‌های توصیه شده

به نام خدا

سلام به همه
یه سورس نوشته بودم که کاره کلاس راحت شه :D
قرارش میدم براتون،شاید جالب باشه...

 

 

2016_03_02_4_53_14.png
 

 

content_main.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity"
android:background="#5c5959">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="tarkibe n az k"
android:id="@+id/textView"
android:layout_marginTop="38dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
android:layout_marginTop="37dp"
android:layout_alignRight="@+id/textView"
android:layout_alignEnd="@+id/textView"
android:gravity="center"
android:textSize="50dp"
android:hint="K" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText2"
android:gravity="center"
android:textSize="50dp"
android:hint="N"
android:layout_centerVertical="true"
android:layout_alignRight="@+id/editText"
android:layout_alignEnd="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_alignStart="@+id/editText" />

<FrameLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/shape"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:visibility="invisible"
android:id="@+id/layout">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text=""

android:id="@+id/textView2"
android:textSize="50dp"
android:textColor="@color/colorAccent"
android:layout_gravity="center" />
</FrameLayout>
</RelativeLayout>

 

MainActivity.java

package shahab.tarkib;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.math.BigInteger;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);



FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final EditText ed1 = (EditText)findViewById(R.id.editText);
final EditText ed2 = (EditText)findViewById(R.id.editText2);
final TextView txt = (TextView)findViewById(R.id.textView2);
final FrameLayout frm = (FrameLayout)findViewById(R.id.layout);

if (TextUtils.isEmpty(ed1.getText().toString()) || TextUtils.isEmpty(ed2.getText().toString()))
{
Toast.makeText(MainActivity.this, "Compelete all Fields", Toast.LENGTH_SHORT).show();
}
else
{
frm.setVisibility(View.VISIBLE);
txt.setVisibility(View.VISIBLE);
int int1,int2;
int1= Integer.parseInt(ed1.getText().toString());
int2= Integer.parseInt(ed2.getText().toString());
txt.setText(tarkibEs(int2,int1) + "");
}
// txt.setText(+"");

frm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ed2.setText((""));
ed1.setText((""));
frm.setVisibility(View.INVISIBLE);
txt.setVisibility(View.INVISIBLE);
}
});

}

});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
AlertDialog.Builder alBuilder = new AlertDialog.Builder(MainActivity.this);
alBuilder.setMessage("\nProgrammer: shahab.es\n").show();
return true;
}

return super.onOptionsItemSelected(item);
}
public long factEs(int number)
{
long res = 1;
if (number <= 1)
{
return 1;
}
res = factEs(number - 1);
return (res * number);
}
public long tarkibEs(int n,int k)
{
long res = 1;
res = ((factEs(k)) / (factEs(n) * factEs(k - n)));
return res;
}
}

 

دانلود سورس

www.answercenter.ir

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اقا شهاب این کد واسه اعداد بزرگ مثلا ترکیب 200 از 400 هم جواب میده؟؟

 

بعدشم میشه اینو واسه بیسیک هم بذارید؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

نه ، واسه اون اعداد جواب نمیده

برای c++ رو که نوشته بودم، تا فاکتوریل 66 و فکر میکنم تا ترکیب یکم بیشتر از حد معمول رو نشون میداد(چون متغیر unsigned long long داریم اونور) اما انگار توی جاوا long بزرگترینه...

اگه متغیر بزرگتری میشناسن دوستان بگن که جاگذاریش کنم

[ht]

بیسیکم براتون گذاشتم هموطن

http://answercenter.ir/topic/12136-%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8-n-%D8%A7%D8%B2-k-%D8%A8%DB%8C%D8%B3%DB%8C%DA%A9-%D9%81%D9%88%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF/

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...